2013-10-06 38 views
1

有沒有辦法將我的調試輸出重定向到屏幕上的文件和標準STDOUT。將調試和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 

但我可以將輸出重定向到一個文件,並在屏幕上結束調試輸出。

+2

調試輸出'-x'轉到stderr。您可以將stderr重定向到@Tichodroma所示的文件 – hek2mgl

+0

如果您的腳本寫入stderr並且想要將腳本的輸出與調試輸出分開,該怎麼辦? – pihentagy

回答

0

我用別名來給出完整的命令,並使用以下方式

$ alias mytest='sh -x test1.sh 2>out.test' 
$ mytest 
HAI 
BYE 
$ cat out.test 
+ echo HAI 
+ echo BYE 

感謝每一個..從

+0

有沒有任何答案可以幫助你,所以你可以接受它?如何提高有用答案? – 2013-10-06 12:35:35

2

Linux系統上的默認文件描述符:

stdin - 0 
stdout - 1 
stderr - 2 

重定向到文件,

sh test1.sh 1> file 

重定向錯誤(錯誤)到控制檯(標準輸出)

sh test1.sh 2>&1 
相關問題