无法捕获 ssss-combine 的输出

无法捕获 ssss-combine 的输出

我正在尝试将输出重定向ssss-combine到一个文件,但目前还没有成功。

我尝试了基本方法:> file2>&1 > filetee file它总是显示在屏幕上并且文件中没有内容。

答案1

虽然你没有指定精确的您正在执行的命令,因此很难确定,我假设您的命令打印到标准错误文件描述符(又名 stderr)而不是 stdout。

重定向> file| tee file仅重定向 stdout 但不重定向 stderr。

2>&1 > file不会做任何你想要的事情。它首先将错误重定向到 stdout 当前所在的位置,即你的终端仿真器,然后然后将 stdout(仅限 stdout,而不是 stderr)重定向到文件。

您可以使用2>file来重定向 stderr,或者交换上例中的两个重定向:>file 2>&1将两个流重定向到同一个文件。顺序很重要,因为它们是从左到右进行评估的。这次您首先将输出重定向到文件,然后将错误重定向到输出的当前位置(已经是该文件)。

答案2

诀窍是使用script -c 'ssss-combine ...' output.txt(因为 ssss 不会输出到标准输出)

相关内容