如何重定向命令的输出,使得stdout和stderr都记录在文件中,并且我仍然希望stderr显示为输出。
我也不想使用bash来做这件事。有这样的方式吗?
答案 0 :(得分:2)
这很容易:
$ ( ./command.sh >> log ) 2>&1 | tee -a log
将stdout命令写入子shell中的log
文件;比你写的
stderr to pipe;而且,我的tee
方法,将其保存到log
并将其复制到控制台。
使用示例:
$ cat command.sh
#!/bin/sh
echo out
echo err > /dev/stderr
$ ( ./command.sh >> log ) 2>&1 | tee -a log
err
$ cat log
out
err