批量捕获Tcl的返回值

时间:2014-03-27 23:06:24

标签: batch-file return tcl

这是我的Tcl脚本

return 2

它什么都不做,只是返回值2.现在我的批处理脚本调用这个名为foo的tcl文件。

tclsh foo.tcl

返回值可能会不时更改,我需要在批处理文件中获取此值。是一种方法来做到这一点。我是批处理命令的新手,所以我对此并不太了解。我尝试了if-else循环,但它给出了语法错误。任何想法都将不胜感激。

2 个答案:

答案 0 :(得分:3)

要让Tcl的外部调用者看到结果代码,您需要exit而不是return

# In Tcl
exit 2

然后您的调用者可以使用内置的退出代码处理来检测。例如使用bash(以及大多数其他Unix shell):

# Not Tcl, but rather bash
tclsh foo.tcl
echo "exit code was $?"

在Windows上,我认为这与ERRORLEVEL有关,但是很长一段时间以来我使用该平台进行此类事情。我记得它很烦人......

答案 1 :(得分:1)

%ERRORLEVEL% 似乎您想要的内容:

C:\Users\glennj>tclsh
% exit 3

C:\Users\glennj>echo %ERRORLEVEL%
3