= 等於,如:if [ "$a" = "$b" ]
== 等於,如:if [ "$a" == "$b" ],與=等價
注意:==的功能在和中的行為是不同的,如下:
1、[[ $a == z* ]] # 如果$a以"z"開頭(模式匹配)那麼將為true
示例:~]# if [[ $a == z* ]]; then echo 'true'; fi
~]#
~]#
~]# a=zzz
~]#
~]# if [[ $a == z* ]]; then echo 'true'; fi
true
2、[[ $a == "z*" ]] # 如果$a等於z*(字元匹配),那麼結果為true
示例:~]# a=z*
~]#
~]# if [[ $a == "z*" ]]; then echo 'true'; fi
true
3、[ $a == z* ] # file globbing 和word splitting將會發生
4、[ "$a" == "z*" ] # 如果$a等於z*(字元匹配),那麼結果為true
示例:~]# a=z*
~]#
~]# if [ $a == "z*" ]; then echo 'true'; fi
true
一點解釋,關於file globbing是一種關於檔案的速記法,比如"*.c"就是,再如~也是.
但是file globbing並不是嚴格的正規表示式,雖然絕大多數情況下結構比較像.
一些shell符號
傳遞到指令碼的引數個數 以乙個單字串顯示所有向指令碼傳遞的引數,與位置變數不同,此選項引數可超過9個 指令碼執行的當前程序id號 後台執行的最後乙個程序的程序id號 與 相同,但是使用時加引號,並在引號中返回每個引數 顯示shell使用的當前選項,與set命令功能相同 顯示最後命令的退出狀態。0表示...
一些shell技巧
1.批量刪除某些指定檔案 我們都知道用find,很快就可以給出 find name your pattern exec rm f 恩,不過還有更快更簡潔的方法,用find自帶的delete find name your pattern delete 2.列出當前目錄下的所有目錄 不遞迴 你能想到幾種...
shell一些筆記
1 getopts可以編寫指令碼,使控制多個命令列引數更加容易 如 檔案get.sh bin sh name false age false odd false false while getopts nao s arg do case arg in n echo name is true a ec...