我正在尝试将输出重定向ssss-combine
到一个文件,但目前还没有成功。
我尝试了基本方法:> file
,2>&1 > file
但tee 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 不会输出到标准输出)