我有以下簡單的shell腳本:現在Bourne Shell:如何在內核命令返回非零退出代碼時終止?
# get all servers from config
sshservers=`node $scriptDir/readconfig.js --command cluster.sshservers`
#for each server
for server in sshservers
do
#run deployserver with server (server:port format) argument
if ! sh deployserver --server $server
then
exit 1 #failure
fi
done
,節點命令獲得sshservers可能會返回一個退出碼,非零。當發生這種情況時,事情變得非常糟糕,所以我想退出一條錯誤消息。
我該怎麼做?這是最合適的方式嗎?
sshservers=`node $scriptDir/readconfig.js --command cluster.sshservers`
if ! $?
then
echo "Error: node readconfig tool failed."
exit 1
fi
另外,當事情發生如此嚴重的錯誤時,如何輸出此節點命令的stderr?
最後,當sh deployserver失敗,或者應該以不同方式完成時,我退出的方式是什麼?
是的,這是乾淨的,可以看到反映在Perl中的實踐。 – Xailor