Linux 是否可以在脚本中获取所有输出到标准输出?

Linux 是否可以在脚本中获取所有输出到标准输出?,linux,bash,ubuntu,centos,Linux,Bash,Ubuntu,Centos,我想记录Bash脚本中命令包含的所有错误消息 问题是如果我必须补充 E=$( ... 2>&1 ); echo $E >> $LOG 对于所有命令,脚本将变得非常难以读取 问题 是否有可能获得一个全局变量,使所有的STDERR变为STDOUT?您可以执行以下操作: #!/bin/sh test -z "$DOLOGGING" && { DOLOGGING=no exec $0 "${@}" 2>&1 | tee log-file; ex

我想记录Bash脚本中命令包含的所有错误消息

问题是如果我必须补充

E=$( ... 2>&1 ); echo $E >> $LOG
对于所有命令,脚本将变得非常难以读取

问题


是否有可能获得一个全局变量,使所有的
STDERR
变为
STDOUT

您可以执行以下操作:

#!/bin/sh

test -z "$DOLOGGING" && { DOLOGGING=no exec $0 "${@}" 2>&1 | tee log-file; exit; }
...

将所有输出/错误复制到日志文件。尽管我似乎误读了这个问题,而且您似乎只是想在脚本顶部添加
exec 2>&1>/dev/null
,以将所有错误打印到stdout并放弃所有输出。

您可以执行以下操作:

#!/bin/sh

test -z "$DOLOGGING" && { DOLOGGING=no exec $0 "${@}" 2>&1 | tee log-file; exit; }
...

将所有输出/错误复制到日志文件。尽管我似乎误读了这个问题,而且您似乎只是想在脚本顶部添加
exec 2>&1>/dev/null
,以便将所有错误打印到stdout并放弃所有输出。

只需使用以下命令启动脚本:

 exec 2>&1

只需从以下内容开始编写脚本:

 exec 2>&1

当然可以;e、 g.:打印STDERR“STDERR 2\n”;你试过exec吗当然,也请参见“是”;e、 g.:打印STDERR“STDERR 2\n”;你试过exec吗另请参见Damn-应通过注释发布为答案:DDamn-应通过注释发布为答案:D