在bash shell 指令碼中總是需要對已經執行命令作錯誤檢查, 以便進行下一步處理.
#!/bin/bash
error=$'\e'[31\;47m"error: "
eend=$'\e'[0m'\n'
function die() $*$eend
# will uncomment below without test
#exit 1;
}
# like perl: false or die
which ]
[ $? -eq 0 ] ||
# fail then die
which ]
(($?)) &&
which ]
(($?)) && ||
which ]
(($?)) && || # pitfall: go on to the second brace block
ps: ] 不是bash保留字, 更不是metachar元字元, 而[ 作為命令第乙個word時是test的同義詞, 且都是builtin命令:
~/tmp$ type test
test is a shell builtin
~/tmp$ type [
[ is a shell builtin
bash 指令碼筆記
輸入了什麼引數 輸入了多少個引數 1輸入的第乙個引數,依此類推,直到 9 上一次的執行結果 為 1 2 3 一起被引號包住 為 1 2 3 分別被包住 為3 引數數量 d target target 是否是 目錄 f target 是否是檔案 e target 是否存在 目錄和檔案都適用 x tar...
bash指令碼基礎
shell 指令碼 一 如何建立新shell指令碼?1.建立包含bash命令的文字檔案。檔案第一行應為 bin bash 2.使檔案可執行 使用chmod x scripts 3.將檔案放置在使用者的 path的目錄中 bin 用於使用者的私有程式 usr local bin 本地開發 系統上的其他...
Bash 指令碼除錯
大神 bash是unix linux作業系統最常用的shell之一,它非常靈活,和awk c 配合起來異常強大 以下使用乙個測試指令碼來說明使用bash除錯的方法 test.sh bin bash echo begin awk end test.sh max 3 for i 0 i max i do...