1. 程式人生 > >Linux菜鳥筆記——BASH(二)

Linux菜鳥筆記——BASH(二)

實驗環境:Ubantu  16.04

一、變數鍵盤讀取(read

read xxx #從鍵盤獲取輸入,存到xxx變數中

read #從鍵盤獲取輸入,存到REPLY變數中

echo -n “請輸入您的名字:” #”-n”是列印完不換行的意思

read name

echo “歡迎你,$name”

前兩句程式碼等同於:

read -p “請輸入您的名字:” name #獲取輸入時先列印提示資訊

 

  

二、陣列(array)

1、定義一個數組

array1=(aa bb cc dd)

2、列印其中一個元素

echo ${array1[0]} #列印結果:aa 

3、列印所有元素

echo ${array1[*

]} #列印結果:aa bb cc dd

或:echo ${array1[@]}


4、列印所有下標

echo ${!array1[*]} #列印結果:0 1 2 3

或:echo ${!array1[@]}


5、列印陣列的元素個數

echo ${#array1[*]} #列印結果:4

echo ${#array[@]}

 

三、宣告(declare)

1、宣告變數為只讀

注:變數為只讀時無法修改值、刪除(unset)

2、單引號內忽略特殊意義(也就是說’’內是什麼就打印出什麼)

3、反引號

等同於echo “xxxxxxx $(hostname) xxxxxxxxx”  #hostname

是一個變數

四、與檔案系統及程式的限制關係(ulimit)

1、檢視所有限制

ulimit -a

2、限制單個檔案大小

ulimit -f 20480#只對當前bash有效,退出後即恢復為unlimited

dd if=/dev/zero of=file bs=1M count=30 #會提示“檔案大小超出限制,因為上一句限制了最大為20M

五、變數內容的刪除、替換

1.變數刪除:

path=$PATH

r=${path#*sbin:} #”#”表示從頭部開始刪,直到第一個”sbin:”,

r=${path##*sbin:} #”##”表示從頭部開始刪,直到最後一個”sbin:”

 

r=${path%bin*} #”%”表示從尾部開始刪,直到遇到第一個”bin”

r=${path%%bin*} #”%%”表示從尾部開始刪,直到最後一個”bin”

2.變數替換

r=${xx-”aaa”}

如果xx存在且值不為空:xx賦給r

如果xx存在且值為空:xx賦給r

如果xx不存在:”aaa”賦給r

r=${xx:-”aaa”}

如果xx存在且值不為空:xx賦給r

如果xx存在且值為空:”aaa”賦給r

如果xx不存在:”aaa”賦給r

r=${xx:=”aaa”}

如果xx存在且值不為空:xx賦給r

如果xx存在且值為空:”aaa”賦給rxx

如果xx不存在:”aaa”賦給rxx

r=${xx:?”aaa”}

如果xx存在且值不為空:”aaa”賦給r

如果xx存在且值為空:列印”aaa”;

如果xx不存在:列印”aaa”;

r=${xx:+”aaa”}

如果xx存在且值不為空:xx賦給r

如果xx存在且值為空:;

如果xx不存在:”aaa”不會賦給r

六、命令別名設定

alias#顯示目前已有的別名

alias aa=”ifconfig eth0”#設定別名

unalias#取消別名

 

七、歷史命令

history #檢視歷史命令(預設儲存1000個,通過環境變數$HISTFILESIZE修改)

!120 #快速呼叫序號為120的歷史命令

history -c #清除所有歷史命令

相關推薦

Linux筆記——BASH

實驗環境:Ubantu  16.04 一、變數鍵盤讀取(read) read xxx #從鍵盤獲取輸入,存到xxx變數中 read #從鍵盤獲取輸入,存到REPLY變數中 echo -n “請輸入

Linux筆記——BASH

實驗環境:Ubantu  16.04 一、路徑與命令查詢順序 type -a echo #打印出來的資訊中,從上到下表示執行命令的優先順序由高到低 二、bash的登入與歡迎資訊 1、登入前的資訊修改: vim /etc/issue vim /etc/issue.n

linux基礎學習 上篇

com lower mar 刪除 .com [] 根目錄 col test 一.linux系統結構 首先我們學習linux的系統結構,linux系統中一切皆文件! 由上圖,可以看到linux是一個倒樹結構linux中所有的東西都是文件這些文件都在系統頂級目錄“/” /就是

linux基礎學習 中篇

文件中 rec 動作 mission 退出vim 第一個 51cto delet 關鍵字搜索 一.man的使用 man ->>manual ###man是手冊縮寫man man #####查看man命令的幫助man passwd

linux基礎學習 下篇

顯示名稱 保存 數字 sudoer linux 刪除用戶 arr 組的建立 51cto 1.用戶理解 用戶就是系統使用者的身份在系統中用戶存儲為若幹竄字符+若幹個系統配置文件用戶信息涉及到的系統配置文件:/etc/passwd ###用戶信息用戶:密碼:uid:gi

初學redis

ack 沒有 進制 序列化 cnblogs key demo 二進制 循環 如果你的redis可以在myeclipse上運行小demo了,那麽可以繼續學習了 redis Java String 實例 string是redis最基本的類型,一個key對應一個value。 st

linux基礎學習

導致 erp redhat ado water 切換用戶 學習 方法 x86 熟悉linux環境 1.虛擬機的控制虛擬機是在真機上建立的,為何要建立虛擬機,主要是防止由於錯誤操作導致不可挽回的結果。[kiosk@foundation0 Desktop]$ rht-vmctl

linux基礎學習

sha then 系統安全 .com img ugo 目錄下的文件 文件讀寫 The 文件權限 1.文件屬性的查看 練習:ls 查看當前目錄下的文件和目錄ls -l 查看當前目錄下的文件和目錄屬性ll 查看當前目錄下的文件和目錄屬性 stat test 查看文件

linux基礎學習

工作 進程優先級 監控系統 emctl 負載 img http 狀態 界面 一.進程 1.進程定義: 進程就是cpu未完成的工作. 2.ps命令 psa ##關於當前環境的所有進程x| -A ##所有進程f ##顯示進程從屬關系e ##顯示進程調用環境工具的

linux基礎學習 openssh-server

eat users onf 遠程 use edi exc 4.2 mark openssh-server 1.openssh-server 功能:讓遠程主機可以通過網絡訪問sshd服務,開始一個安全shell 2.客戶端連接方式 ssh 遠程主機用戶@遠程主機ip[root

linux基礎學習 系統日誌

unix 18C 關閉 系統 0.11 cron rate 保存 日誌類 系統日誌 1.系統日誌默認分類 /var/log/messages ##系統服務及日誌,包括服務的信息,報錯等等/var/log/secure ##系統認證信息日誌/var/log/mai

linux基礎學習 網絡

ice ping 9.1 del system fff 設定 ane sco linux下的網絡配置 1.什麽是IP ADDRESS internet protocol ADDRESS ##網絡協議地址 ipv4 internet protocol ver

linux基礎學習 網路

linux下的網路配置 1.什麼是IP ADDRESS internet protocol ADDRESS ##網路協議地址 ipv4 internet protocol version 4 1.2x32 ip是由32個0和1組成 11111110.1111111

linux基礎學習 openssh-server

openssh-server 1.openssh-server 功能:讓遠端主機可以通過網路訪問sshd服務,開始一個安全shell 2.客戶端連線方式 ssh 遠端主機使用者@遠端主機ip[[email protected] ~]# ssh [email protected]Th

java程式設計師進階oracle基礎詳解oracle查詢語句和資料排序

本文所以練習都是基於oracle自帶提供的一個數據庫進行的。資料庫中包含員工表emp。部門資訊表dept。員工工資工總表下面是三個表的表結構:一:基本查詢語句1.最簡單的查詢所有列語句Select * from emp;2.查詢指定列表的查詢語句Select empno ,e

Linux筆記——BASH之變數

shell:指令碼直譯器,常見的shell有sh、bash、csh、ksh等。 bash:shell的一種,是linux的預設shell指令碼直譯器。終端提供了人和shell互動的介面。 一、檢視系

哥的Linux私房習題與解析

第二部分 Linux檔案、目錄與磁碟格式 第六章 Linux的檔案許可權與目錄配置 1、/bin和/usr/bin及/sbin目錄所放置的執行檔案有什麼不同 /bin目錄下放置的是在單使用者維護模式下還能夠被操作的命令,這些命令都可以被root和普通使用者所使,如 cat

java程式設計師進階十三linux基礎入門vmvare下安裝linux RedHat圖解超詳細篇

對於linux,我從大二就想學習一下,但一直苦於無從下手,所以一直拖到現在,鑑於筆者瞭解很多人在linux入門的困難在何處,所以我認為本套入門基礎文章還是挺適合想學習linux的朋友,本系列文章大約十篇文章左右,近期會不斷更新下來,沒有linux基礎但又想學習linux的朋友可以關注一下本系列

Mybatis()[SqlMapConfig檔案配置、輸入輸出引數對映解讀] 日記--day05

Mybatis(二)[SqlMapConfig檔案配置、輸入輸出引數對映解讀]–day05 上 一、SqlMapConfig配置 1.properties屬性配置 1)單條屬性配置 不建議使用 <properties > <property name=

成長記十三----- 草草啟程,半途終了?

下一步 後臺 十分鐘 一道 一是 算法題 ceo 奮鬥 同時   來北京兩個多月了,也在現在這家遊戲公司上了一個多月的班了,對於目前自己這狀態真的是撞墻的心都有了。我不知道我到底是怎麽了,一念清醒九念操蛋,心裏面清楚的知道自己應該做什麽,不應該做什麽,但是就是怎麽也控制不住