2013-03-26 77 views
0

您好我需要在文件和STDOUT都有perl腳本的輸出,但我不能重定向輸出像./a.pl > out.log。可能嗎?寫入文件和標準輸出從Perl腳本

+0

爲什麼你需要它去標準輸出?有人會觀看該視頻,還是正在重定向? – 2013-03-26 13:29:27

+0

@sputnick,這個問題的簡單答案是[man tee](http://www.openbsd.org/cgi-bin/man.cgi?query=tee)。 Gayane使用了unix命令行,並沒有引用任何其他操作系統。你的鏈接甚至沒有提到T恤。 – 2013-03-26 13:32:47

+0

@JulianFondren我不同意,OP似乎說他沒有控制命令行 – 2013-03-26 13:34:28

回答

4

顯然,你應該使用

./a.pl | tee out.log 

,但它聽起來就像你會拒絕。下一個最好的可能是File::Tee

use File::Tee qw(tee); 
tee(STDOUT, '>', 'out.log'); 
2

試試這個:

a.pl | tee out.log

+0

實際上腳本是由其他人運行,我不能強迫它以其他方式調用它。所以我需要做一些腳本(重定向/保存標準輸出或其他) – Gayane 2013-03-26 13:33:13

+0

@Gayane,所以你說你比你的用戶知道他們想要的更好。你不應該強迫你的用戶做任何事情。 – ikegami 2013-03-26 13:35:24

+0

他們希望在日誌和STDOUT中都有輸出。但是他們不想重定向shell的輸出 – Gayane 2013-03-26 13:36:59