1、查看shell版本命令
bash --version
2、查看別名
alias
3、查看命令的類型
type + 命令
4、刪除別名
unalias, 暫時不想使用別名,使用\,例子:\ls
5、如何執行一個shell腳本
6、shell變量
本地變量,只在創建它的shell中有效,
賦值 ------ 變量名=值 (等號兩邊不可以有空格,如果賦值包括空格,空格必須用引號引起來)
shell變量對大小寫敏感的,必須以字母和下劃線開頭。
清除變量------unset +變量名(例子 unset name)
使用set命令可以查看當前本地定義的所有shell變量
7、shell變量的擴展應用
${name:-word}---------------- 當變量name已被設置且非空,這顯示name的值,否則顯示word
${name:+word} ----------------當變量name已被設置且非空,這顯示word的值,否則什麼都不顯示,代入空的值
${name:=word}---------------- 當變量name已被設置且非空,這顯示name的值,否則顯示word的值,且變量name始終賦值爲word
${name:?word}}---------------- 當變量name已被設置且非空,這顯示name的值,否則顯示word的值,並且從shell退出
${name:offset} 或${name:offset:length} ---------獲取變量name值中從offset開始的子串,或者獲取從offset開始長度爲length的子串。
例子:name="what is your name?" echo ${name:3} ------輸出:t is your name?
${var/parten/replacement}----------用replacement來替換變量var中第一個與parten匹配的串,局部匹配
例子:echo ${name/is/IS} --------what IS your name?
${var//parten/replacement}----------用replacement來替換變量var中所有與parten匹配的串,全局匹配
例子:echo ${name/a/A} --------whAt IS your nAme?
8、變量設置成爲只讀的
變量賦值後,就不在賦值,只能讀,例子:name="welcome shell word!" readonly name ,注意只讀的變量不能用unset命令清除。
9、環境變量
1、環境變量全局可以調用。2、環境變量可以自己定義,但必須大寫,用export導出,但用戶註銷後這些值就丟失,
例子:NAME=shell export NAME , 自定義一個NAME環境變量。顯示環境變量:$NAME
如果想要保證NAME在用戶註銷後不被清除,可以在系統初始化文件中編寫。
10、變量的長度
${#name} 可以得出name變量的長度,注意:如果name是個數組,那麼${#name}是數組第一個元素的長度
例子:name=(a bb ccc ddd) echo ${#name} ----輸出:1
${#name[*]} --輸出:4(即數組namde的元素個數),${name[2]}------輸出:ccc
11、指定類型的變量
格式:關鍵字declare 或者typeset +[-option] +變量名
-option -i 整數,-r只讀,-a數組,-x export ,-f函數
例子: declare -r var 等同於 readonly var
declare -i number
12、變量間接引用
例子 admin=willson
willson=myname
echo ${admin}---------willson
eval admin=\$$admin !--變量間接引用
echo ${admin}-------myname
13、隨機數
$RANDOM
14、位置變量
$0 ,$1,$2,$3......................................¥9 $0是腳本名稱,$1是第一個參數,$2是第二個參數。。。。。。。。。。。。
15、特定變量參數
$#---------傳遞到腳本的參數個數
$*---------以一個單字符串顯示所有向腳本傳遞的參數
$!---------後臺運行的最後一個進程的進程ID
$$--------腳本運行的當前進程ID
$- ---------顯示腳本shell使用的當前選項,與set命令功能相同
$@--------與$#相同,但是在使用中加引號,並在引號中返回每個參數
$?---------顯示最後命令退出的狀態,0表示沒有錯誤,其他值表示異常 例如:mkdir adc echo $? ----輸出:0
16、引用
""--雙引號:可以引號除$,`,\外的任意字符或字符串
`` ---反引號 :引用命令 例如 name="你所在的目錄`pwd`" ----你所在的目錄/root/shell"
''--單引號 :變量原樣輸出
\---反斜槓 :轉義符 例如:echo $$ ---輸出當前進程的ID ,echo \$$---- $$
17、 echo "$name" name原樣輸出 例如 name="a b c d" echo "$name"