我有一个简单的 Bash 脚本,其 99% 以上的时间都花在执行 Python 应用程序上(该脚本只是一个包装器,在 for 循环中提供此 Python 脚本文件并重命名输出文件)。我遇到了与here描述的相同问题,并查看了答案,但不明白如何在我的上下文中使用它们。
我认为我需要在我的脚本中、执行 Python 脚本的行上应用该问题答案中的原则,但是如何实现呢?
我的脚本为伪代码:
for file in "$directory"; do
pythonscript "$file" >> "log.txt"; then
done
我想每分钟刷新pythonscript行,它产生的每一行输出或类似的,这并不重要(通常执行需要几个小时,我只是希望能够经常跟踪“合理”的输出) .
您可以使用
PYTHONUNBUFFERED
环境变量
export PYTHONUNBUFFERED=true
for file in "$directory"; do
pythonscript "$file" >> "log.txt"; then
done