2015-05-06 64 views
33

我想在帶有消息「測試用例失敗!!!」的Bash腳本中引發錯誤。如何在Bash中做到這一點?在bash腳本中引發錯誤

例如:

if [ condition ]; then 
    raise error "Test cases failed !!!" 
fi 
+1

你想在這個錯誤上發生什麼?你的腳本如何被調用?它只是一個腳本或多個腳本?你的腳本的用途是什麼樣子? –

+0

只是一個腳本。我打電話給它使用Ubuntu終端像./script/test.sh – user3078630

+0

http://unix.stackexchange.com/ –

回答

47

這取決於你想存儲的錯誤消息。

你可以做到以下幾點:

echo "Error!" > logfile.log 
exit 125 

或以下類型:

echo "Error!" 1>&2 
exit 64 

當你拋出一個異常停止程序的執行。

您還可以使用類似exit xxx的其中xxx是您可能想要返回到操作系統(從0到255)的錯誤代碼。這裏12564只是隨機代碼,你可以退出。當您需要向操作系統表明程序異常停止(例如發生錯誤)時,您需要將非零退出代碼傳遞給exit

由於@chepner pointed out,你可以做exit 1,這將意味着未指定的錯誤

+5

或者你可以把它發送到stderr,在那裏錯誤應該去。 –

+0

如何將它發送到stderr? – user3078630

+0

@ user3078630,我剛剛編輯了我的答案。 '1&2'將會訣竅 – ForceBru