我正在使用tcl的外部脚本。该脚本将其结果作为打印输出到stdout,因此我使用命令
set scriptRes [exec ${dir}/bin/script $obm_file]
$obm_file
是脚本的参数,是它的输入文件的名称。
在某些情况下,输入文件并不完美,因此脚本会提供良好的输出,然后会出错,它会将错误消息输出到stderr。有没有办法告诉tcl只采用“好”输出,即输出到stdout,并忽略错误信息?
答案 0 :(得分:2)
您需要-ignorestderr
选项:
set scriptRes [exec -ignorestderr ${dir}/bin/script $obm_file]
如果失败(例如,如果您的Tcl版本太旧),请使用:
set scriptRes [exec ${dir}/bin/script $obm_file 2> /dev/null]