$?? :查看上一執(zhí)行命令返回值,若返回0則代表執(zhí)行成功,若返回非0,則執(zhí)行失敗,值的范圍:0~255
$#:腳本后帶的參數(shù)數(shù)量,如:
[root@localhost shell]# cat test.sh
echo $# #輸出執(zhí)行腳本時(shí),后面帶了幾個(gè)參數(shù)
[root@localhost shell]# ./test.sh 99 88 77
3 #腳本后面帶了3個(gè)參數(shù)
$?返回值參考
0 表示執(zhí)行成功
2 表示權(quán)限拒絕
1~125 表示運(yùn)行失敗,腳本命令、系統(tǒng)命令錯(cuò)誤或參數(shù)傳遞錯(cuò)誤
126 找到該命令,但是無法執(zhí)行
127 未找到要執(zhí)行的命令
>128 命令被系統(tǒng)強(qiáng)制結(jié)束
?
$$? :查看當(dāng)前腳本的PID
$n? :獲取當(dāng)前執(zhí)行的shell腳本的第n個(gè)參數(shù)值,n=1..9,當(dāng)n為0時(shí)表示腳本的文件名,如果n大于9,用大括號(hào)括起來,例如:第10個(gè)參數(shù),${10}
$#? :獲取當(dāng)前shell命令行中的總個(gè)數(shù)
$*? :獲取當(dāng)前腳本中所有參數(shù)值,輸出為一整個(gè)字符串
$@:獲取當(dāng)前腳本中所有參數(shù)值,輸出為每一個(gè)參數(shù)值分開
$ n? :n為正整數(shù),從0開始,表示腳本中第幾個(gè)參數(shù),$0代表腳本本身,$1 代表腳本后第一個(gè)參數(shù),例如:
[root@localhost shell]# cat test.sh
echo $0 #輸出腳本名稱
echo $1 #腳本后第一個(gè)參數(shù)
echo $2 #腳本后第二個(gè)參數(shù)
[root@localhost shell]# ./test.sh 9 8 7 67
./test.sh
9
8
判斷值:
-d:判斷是否為目錄
-f:判斷是否為文件
-e:判斷文件或目錄是否存在
-L:判斷文件是否為連接
-x:判斷文件是否有可執(zhí)行權(quán)限
-w:判斷文件是否有寫權(quán)限
-r:判斷文件是否有讀權(quán)限
整數(shù)值對(duì)比:
-eq:等于
-ne:不等于
-gt:大于
-lt:小于
-ge:大于等于
-le:小于等于
字符串對(duì)比:
=? :匹配
!=? :不匹配
-z? ?:檢查字符串是否為空
邏輯判斷:
-a:邏輯與(and)
-o:邏輯或(or)
!:邏輯非
?
&& :邏輯與? ??
|| :邏輯或
?
通配符:
* :任意單個(gè)字符
?:任意單個(gè)字符
[]:任意單個(gè)字符
| :代表或
本文摘自 :https://blog.51cto.com/u