[ ]是符合posix標準的測試語句,相容性更強,幾乎可以執行在所有的shell直譯器中
[[ ]]僅可執行在特定的幾個shell直譯器中(如bash等)
進行比較前先設定lang=c,在排序時使用ascii碼順序
數字的ascii碼應該小於大寫字母,使用[[ ]]的結果是正確的
[[ ]]不支援-a
[[ ]]中表示變數name是否以字母d開頭
[[ ]]判斷變數name的值是否包含字母c
$?1如果hosts檔案存在,那麼[[ ! -f hosts ]]的狀態碼則為1,如果指令碼開啟了set -e,那邊會導致指令碼退出
如果環境監測正常,在後面用echo輸出一句話即可
[
[! -f hosts ]]&&
echo
"error:hosts not found"
&&exit 1
echo
"info:check_env is ok"
shell中 與 的區別
命令替換 在bash中,與 反引號 都是用來作命令替換的。命令替換與變數替換差不多,都是用來重組命令列的,先完成引號裡的命令列,然後將其結果替換出來,再重組成新的命令列。exp 1 echo today is date y m d today is 2014 07 01 與 在操作上,這兩者都是達到...
shell 中 與 的區別
在shell中 為建立 echo hello shell out.txt 為追加 echo hello shell out.txt 當out.txt 文字不存在時,與 都會預設建立out.txt文字,並將hello shell 字串儲存到out.txt中 當out.txt文字存在時,會將out.tx...
shell中 與 及 的區別
與 反引號 在bash shell中,與 反引號 都是用來做命令替換 command substitution 用的。echo the last sunday is date d last sunday y m d 得到上一星期天的日期 用 的理由 1.很容易與 單引號 搞混。有時在一些奇怪的字形顯...