我有以下简单的 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 的 node 命令可能会返回一个非零的退出代码。发生这种情况时,事情变得非常糟糕,所以我想退出并显示错误消息。
我该怎么做?这会是最合适的方式吗?
sshservers=`node $scriptDir/readconfig.js --command cluster.sshservers`
if ! $?
then
echo "Error: node readconfig tool failed."
exit 1
fi
另外,当事情发生如此可怕的错误时,我如何输出这个节点命令的标准错误?
最后,当 sh deployserver 失败时我退出的方式是正确的,还是应该以不同的方式完成?