0
讓我們考慮一下shell腳本中有很多系統命令,每個命令都會將一些內容返回到stdout或stderr。如何將shell腳本中的所有內容的標準輸出重定向到日誌文件?
而不是分別爲每個命令執行重定向有沒有辦法將從shell腳本生成的所有stdout或stderr重定向到日誌文件?
讓我們考慮一下shell腳本中有很多系統命令,每個命令都會將一些內容返回到stdout或stderr。如何將shell腳本中的所有內容的標準輸出重定向到日誌文件?
而不是分別爲每個命令執行重定向有沒有辦法將從shell腳本生成的所有stdout或stderr重定向到日誌文件?
的明顯簡單的解決辦法是使用
./scriptfile.sh > foo.log
由此產生withing的腳本文件的所有標準輸出去foo.log
但是我想,你的問題是針對來自有效的解決方案與劇本。 可以(重新)直接使用exec命令一個文件描述符到給定的文件(在下面的代碼段2行將重定向標準輸出到foo.log):
#!/bin/sh
exec 1>>foo.log
echo blue
echo blart
順便說一句,這招('EXEC 1> > foo.log')被自動配置生成的配置相當無恥地被盜取... –