在Linux上,我使用「tee」來捕獲「源」命令的輸出並將其打印輸出日誌文件,但失敗。我使用的命令是這樣的:如何在Linux中將「tee」與「source」命令一起使用?
source ./my_run.sh 2>&1 | tee -i my_run_log
my_run.sh的目的是爲「使」一些編譯工作,以及像CD,RM一些日常工作和svn update。的my_run.sh內容就像如下:
make clean
cd ..
rm ./xxx
svn up -r 166
cd ./aaa/
sed -i -e ......
make compile
make run
然而,當我運行它的「發球」是行不通的,而且不給我的日誌文件在所有。爲了驗證整個環境還是不錯的,我做了一個簡單的測試:
ll 2>&1 | tee -i log
,並在這個簡單的場景中,「發球」工作完全正常,並打印出「日誌」如我所料。 任何人都可以幫助我找出我的問題在哪裏? 順便說一句, 我正在的Red Hat Linux(版本5.9),使用的bash shell。 在此先感謝!
一些意見: 我做了一些測試,發現只要my_run.sh劇本已經得到了「令XXX」,在它的東西,然後在「發球」將失敗。 似乎像tee不喜歡make。任何解決方案?
事後尋找'my_run_log'的地方? –
很難說......我只能說「它適合我」 – tink
@tink我嘗試了更多的組合,發現如果shell中有「make xxx」的東西,那麼我的「tee」會失敗;如果shell沒有「make xxx」,那麼「tee」工作正常。似乎「tee」不喜歡「make」? – katyusza