TCL

时间:2018-12-19 18:15:25

标签: tcl

我有各种使用>@ stdout> stdout来执行命令的命令,例如:eval exec $commandName 2>@ stderr >@ stdout <@ stdin。其中一些使用>@,而另一些简单地在stdout或stderr命令前面使用>。我正在尝试制定一种通用的执行方法,我注意到如果添加@,它将把所有内容打印到屏幕上,而没有@则不是我想要的。

我在这里阅读了eval exec的文档:https://www.tcl.tk/man/tcl/TclCmd/exec.htm#M20,我看到@允许提供fileId,但是,如果我使用默认的stdout和stderr,它应该使如果使用@也没有什么区别,因为根据此链接http://zetcode.com/lang/tcl/io/默认为std。

我想确保我不会遇到任何意外的错误。

1 个答案:

答案 0 :(得分:2)

> stdout

将输出重定向到名为“ stdout”的文件,而不重定向到stdout文件描述符。

>@ stdout

将输出重定向到fileId标准输出,并将打印到当前标准输出, 通常是屏幕。