在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