我有一个shell脚本,set -x
具有详细/调试输出:
#!/bin/bash
set -x
command1
command2
...
输出看起来像这样:
+ command1
whatever output from command1
+ command2
whatever output from command2
我的问题是,外壳输出(由set -x
)前往stderr,用命令的输出(混合command1
,command2
...)。我很乐意在屏幕上显示“正常”输出(例如脚本woud在不使用的情况下运行set -x
)和bash的“额外”输出分别存储在一个文件中。
所以我想在屏幕上显示这个:
whatever output from command1
whatever output from command2
这在日志文件中:
+ command1
+ command2
(如果日志文件包含所有内容,也可以)
该set -x 2> file
明明好好尝试采取正确的效果,因为它不是set命令的输出,但它改变的bash的行为。
使用bash 2> file
整个剧本还没有做正确的事,因为它重定向在这个shell中运行,以及每个命令的标准错误,所以我没有看到的命令的错误消息。