假设我的脚本被调用如下:
(script.sh 1>&2) 2>err
有没有办法将脚本运行的其中一个命令的输出重定向到标准输出?我尝试为该命令执行2>&1
,但这没有帮助。这个answer建议Windows
命令shell的解决方案并重定向到文件而不是标准输出。
举一个简单的例子,假设脚本是:
#!/bin/sh
# ... many commands whose output will go to `stderr`
echo aaa # command whose output needs to go to `stdout`; tried 2>&1
# ... many commands whose output will go to `stderr`
如上所示调用脚本时,如何使echo
的输出转到stdout
(这表明它会出现在屏幕上)?
答案 0 :(得分:3)
在脚本中将其发送到stderr
echo this goes to stderr
echo so does this
echo this will end up in stdout >&2
echo more stderr
以
运行 { ./script.sh 3>&2 2>&1 1>&3 ; } 2>err
错误包含
this goes to stderr
so does this
more stderr
输出到标准输出
this will end up in stdout