shell中 與 的區別

2021-10-12 17:41:48 字數 1076 閱讀 8534

[ ]是符合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.很容易與 單引號 搞混。有時在一些奇怪的字形顯...