有没有办法将我的调试输出重定向到文件和屏幕上的普通STDOUT。
$ cat test1.sh
#!/bin/bash
echo HAI
echo BYE
$ sh -x test1.sh
+ echo HAI
HAI
+ echo BYE
BYE
我想将调试输出重定向到屏幕上的文件和正常输出。
$ sh -x test1.sh >file1
+ echo HAI
+ echo BYE
但我可以将输出重定向到文件并在屏幕上结束调试输出。
答案 0 :(得分:3)
答案 1 :(得分:2)
linux系统上的默认文件描述符是:
stdin - 0
stdout - 1
stderr - 2
重定向到文件,
sh test1.sh 1> file
将错误(stderr)重定向到控制台(stdout)
sh test1.sh 2>&1
答案 2 :(得分:0)
我使用别名来提供完整的命令并使用以下方式
$ alias mytest='sh -x test1.sh 2>out.test'
$ mytest
HAI
BYE
$ cat out.test
+ echo HAI
+ echo BYE
谢谢大家......