我写了一个TCL脚本,在我写的文件和
exit 1
但是在脚本遇到不良情况的地方,它会调用:
exit 0
现在,在一个bash脚本中,我应该调用TCL脚本并知道TCL脚本的执行是否成功完成,并且取决于我应该做一件或另一件事。所以我在BASH中写了以下内容: 如果tclsh myScript.tcl“arg1”“arg2”“arg3” 然后 #做一点事 其他 #do另一件事 网络
但它没有做它应该做的事情。这有什么问题?
答案 0 :(得分:2)
tclsh myScript.tcl "arg1" "arg2" "arg3"
if [ $? -eq 0 ]; then
echo "Script failed"
else
echo "Script OK"
fi
答案 1 :(得分:2)
通常零表示成功,非零表示假。我建议不要改变它,因为它可能会产生误导。 在你的情况下,我相信它恰恰相反,所以要么你坚持使用状态的习惯方式,要么否定每一个检查。
至于你的代码,请尝试这样:
if tclsh myScript.tcl "arg1" "arg2" "arg3"; then
# tcl script returns error
else
# tcl script returns ok
fi
不要忘记分号。