我寫了一個函數來檢查一個命令是否成功執行,如果沒有,則拋出一個錯誤。如何發送帶有消息的命令以成功回送bash函數?
assert_success() {
"$1"
if [[ $? == 0 ]]; then
echo "$2"
fi
}
說我有以下命令給定的錯誤執行:
assert_success <command> <error_message>
因此,基本上,像下面這樣:
assert_success $(mkdir blah) "This worked"
不過,我得到a.sh: line 3: This worked: command not found
如何讓echo
在此處正確工作?
閱讀[我想在一個變量把一個命令,但是複雜的情況下總是失敗!(HTTP ://mywiki.wooledge.org/BashFAQ/050)。 – chepner