如何知道TCL脚本是否在bash中成功执行?

时间:2011-02-22 13:37:08

标签: bash shell scripting

我写了一个TCL脚本,在我写的文件和

exit 1

但是在脚本遇到不良情况的地方,它会调用:

exit 0

现在,在一个bash脚本中,我应该调用TCL脚本并知道TCL脚本的执行是否成功完成,并且取决于我应该做一件或另一件事。所以我在BASH中写了以下内容:     如果tclsh myScript.tcl“arg1”“arg2”“arg3”     然后        #做一点事     其他        #do另一件事     网络

但它没有做它应该做的事情。这有什么问题?

2 个答案:

答案 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

不要忘记分号。