在tcsh
我想将命令行输出重定向到文件,但我仍想在命令行中显示它们。
有点搜索
./MyCommand.sh 2>&1 | tee /tmp/Output.txt
应该做的工作。但是我得到了一个错误:
Ambiguous output redirect
答案 0 :(得分:2)
使用2>&1
组合stderr和stdout仅适用于bash
和sh
。它不适用于csh
或tcsh
。在Redirect stdout to stderr in tcsh建议进行解决。
答案 1 :(得分:0)
在bash
代替2>&1
我使用|&
不知道这对tcsh
有何影响,但这个问题目前尚未被标记,希望这有助于其他人。
根据此redirect stderr to stdout in c shell,您无法在csh
tcsh
扩展哪些可能相关的
答案 2 :(得分:0)
如果你只想重新定位stdout,或者stdout和stderr,那么问题就不清楚了。
使用|
会将stdout重定向到tee
(将其输出到文件和终端),使stderr保持不变(因此它只会转到终端):
./MyCommand.sh | tee /tmp/Output.txt
使用|&
将"合并" stdout和stderr,tee
将重定向到文件和终端:
./MyCommand.sh |& tee /tmp/Output.txt