“的用法不同”&燃气轮机;stdout";及>;@stdout";在TCL

“的用法不同”&燃气轮机;stdout";及>;@stdout";在TCL,tcl,Tcl,我有很多命令使用@stdout和>stdout来执行这样的命令:eval exec$commandName 2>@stderr>@stdout@,而有些命令只是在stdout或stderr命令前面使用。我试图创建一个通用的执行方法,我注意到如果我在中添加@,它会将所有内容打印到屏幕上,而没有@it则不会,这是我喜欢的 我在这里阅读了eval exec的文档:我看到@允许提供文件ID,但是如果我使用默认的stdout和stderr,那么使用@应该没有什么区别,因为根据以下链接它默认为std: 我想

我有很多命令使用
@stdout
>stdout
来执行这样的命令:
eval exec$commandName 2>@stderr>@stdout@
,而有些命令只是在stdout或stderr命令前面使用
。我试图创建一个通用的执行方法,我注意到如果我在中添加
@
,它会将所有内容打印到屏幕上,而没有@it则不会,这是我喜欢的

我在这里阅读了eval exec的文档:我看到
@
允许提供文件ID,但是如果我使用默认的stdout和stderr,那么使用
@
应该没有什么区别,因为根据以下链接它默认为std:

我想确保我没有遇到任何意外的错误

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

>@ stdout
将输出重定向到fileId标准输出,并将打印到当前标准输出, 通常是在屏幕上

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

>@ stdout
将输出重定向到fileId标准输出,并将打印到当前标准输出,
通常显示在屏幕上。

如果您确实想让某些内容显示在屏幕上,请始终在POSIX平台上使用
/dev/tty
。或者使用Tk来建立GUI…但是
stdout
只是输出的默认目标,如果在管道中使用,则转到管道,或者如果您做了一些聪明的事情,则转到套接字或串行线…好的,谢谢,如果我使用
正确,如果程序不读取stdin,它不会使用它。如果您确实想让某些东西出现在屏幕上,请始终在POSIX平台上使用
>/dev/tty
(即,除Windows以外的所有工具)。或者使用Tk来建立GUI…但是
stdout
只是输出的默认目标,如果在管道中使用,则转到管道,如果您做了一些聪明的事情,则转到套接字或串行线…好的,谢谢,如果我使用
正确,如果程序不读取stdin,则不会使用它。