重定向python脚本stdout+;使用参数归档和筛选的时间
我在结合python、time和tee时遇到了一些问题 我有一个script.sh,其中包含以下行:重定向python脚本stdout+;使用参数归档和筛选的时间,python,time,stdout,tee,Python,Time,Stdout,Tee,我在结合python、time和tee时遇到了一些问题 我有一个script.sh,其中包含以下行: { time python extractPassRate.py -i DataPaths/background.list -o PassRates/background.csv ; } 2>&1 | tee log.log 然而,当我这样做时: source script.sh 航站楼就这么挂着 有趣的是,当我将该行替换为: { time python extractPass
{ time python extractPassRate.py -i DataPaths/background.list -o PassRates/background.csv ; } 2>&1 | tee log.log
然而,当我这样做时:
source script.sh
航站楼就这么挂着
有趣的是,当我将该行替换为:
{ time python extractPassRate.py ; } 2>&1 | tee log.log
(即,如果删除python脚本参数)
或
(未保存到log.log)
剧本很好用
第一行有什么问题吗?通过谷歌搜索,我在这里找到了解决方案,作者:Matthew Alpert: 这似乎是由于缓冲问题 马修的回答是: expect包中的程序unbuffer将解决 缓冲问题。这将导致stdout和stderr写入 立即筛选和归档,并在合并时保持同步 并重定向到发球台。例如: $unbuffer程序[参数…]2>&1 | T输出文件 这对我很有用
{ time python extractPassRate.py -i DataPaths/background.list -o PassRates/background.csv ; } 2>&1