[英]How to use "tee" with "source" command in Linux?
在 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
但是,當我運行它時,“ tee ”不起作用,根本不給我日志文件。 為了驗證整個環境是否良好,我做了一個更簡單的測試:
ll 2>&1 | tee -i log
在這個更簡單的場景中,“ tee ”工作得非常好,並按我的預期打印出“log”。 誰能幫我找出我的問題在哪里? 順便說一句,我正在使用bash shell開發Red Hat Linux (5.9 版)。 提前致謝!
更多評論:我做了更多測試,發現只要my_run.sh腳本中有“ make xxx ”的東西,那么“ tee ”就會失敗。 似乎 T 恤不喜歡 make。 任何解決方案?
問題解決了; 非常感謝@thatotherguy 帶領我找到解決方案。 日志輸出實際上被make clean過程刪除了。 在makefile 中修復干凈的東西后,一切都很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.