shell腳本常用(1)

\u    表示當前用戶名
\h    表示機器名稱
\W    表示當前工作目錄的基名
\w    表示當前工作目錄的全路徑
$0、$1、$2、$3:    
    $0    指此shell文件的名稱
    $1    指傳給shell程序的第一個參數
    $2    指第二個參數
    $3    指第三個參數
$#    shell命令中參數的個數
$*、$@:    shell命令中的所有參數
$?:    shell命令或shell程序執行後的返回值或退出狀態值,是一個介於0~255之間的整數

  

字符串比較運算符

 =或==    判斷兩個字符串是否相等
 !=      判斷兩個字符串是否不想等
 <        左邊的字符串在ASCII碼錶的順序前於右邊的字符串,只能用於[[ ]]中
 >        與<效果相反,只能用於[[ ]]
 -z       字符串是否爲空
 -n       字符串是否非空
 注意:字符串比較運算符不存在“>=”或“<=”

  


整數比較邏輯表達式

-eq    表示等於
-ne    表示不等於
-lt    表示小於
-gt    表示大於
-le    表示小於等於
-ge    表示大於等於

上述運算符可以用於(( ))和[[ ]],整個比較表達式兩側及比較運算符兩側留有空格。
如果用於[[ ]],要注意整個邏輯表達式兩側及比較運算符兩側留有空格。
如果用於(( )),可不必留空格。
除了=和!=,[]中不能使用數學上的比較運算符。
在[[ ]]中,兩類數值比較運算符都可以使用。
在(( ))中只能使用=、!=、<、>、>=、<=,不能使用第一類比較運算符。



文件判斷與比較邏輯表達式

-e    文件存在
-f    正常文件(不是目錄或設備文件)
-s    不是空文件
-d    文件是目錄
-h    鏈接文件
-r    對當前文件用戶可讀
-w    對當前文件用戶可寫
-x    對當前文件用戶可執行
-O    當前用戶爲文件所屬主
-nt    如f1 -nt f2 表示文件 f1 比 f2 新
-ot    如f1 -nt f2 表示文件 f1 比 f2 舊



如果一個變量賦值爲包含空格的字符串,在[ ] 中使用這個變量時,要使用雙引號括住,而在 [[ ]] 則不需要。


多個邏輯表達式的複合

-a 或 &&    表示 與
-o 或 ||    表示 或
!           非運算符

在[ ]中使用-a、-o、!.            不能使用圓括號括住邏輯表達式構成複雜邏輯表達式,而要使用\( \)的形式,可以使用$(( ))進行邏輯表達式的複雜運算。
在[[ ]]和(( ))中使用&&、||、!    可以使用圓括號
&& 和 || 可以在兩對 [ ] 之間使用

示例:
[ 1 -lt 2] && [ 3 -gt 4 ]



case語句--語法

case expression in
value1)
    action1
;;
value2)
    action2
;;
...
*)
    action
;;
esac


*        表示任意個任意字符
?        表示一個任意字符
[ ]      表示一個取值範圍,用管道符表示邏輯或











發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章