我有各种使用>@ stdout和> stdout来执行命令的命令,比如:eval exec $commandName 2>@ stderr >@ stdout <@ stdin。他们中的一些人使用>@,而另一些人只是在stdout或stderr命令前面使用>。我正在尝试创建一个通用的执行方法,我注意到如果我添加了@,它会将所有内容打印到屏幕上,而没有@ it则不会,这是我喜欢的。
我在这里阅读了eval exec的文档:https://www.tcl.tk/man/tcl/TclCmd/exec.htm#M20,我看到@允许提供fileId,但是如果我使用默认的stdout和stderr,那么使用@应该没有区别,因为根据这个链接它默认为std:http://zetcode.com/lang/tcl/io/。
我想确保我不会遇到任何意想不到的bug。
发布于 2018-12-20 02:37:12
> stdout将输出重定向到名为“stdout”的文件,而不是重定向到标准输出文件描述符。
>@ stdout将输出重定向到fileId标准输出,并将打印到当前标准输出,通常是屏幕。
https://stackoverflow.com/questions/53857042
复制相似问题