从bash scrip调用时获取Python命令行输出

2024-04-19 16:50:39 发布

您现在位置:Python中文网/ 问答频道 /正文

这可能是一个非常简单的问题。我通过shell脚本调用Lubuntu OS(Cubietruck)上的Python脚本。这是为了在启动时自动化流程(我想维护这个流程)。有没有一种简单的方法来查看Python的输出?目前,Python脚本在后台运行,没有终端。我有一些错误需要检查。剧本是:

#!/bin/sh
python recordSound.py

提前谢谢。


Tags: 方法py脚本终端binossh错误
3条回答

直接调用脚本。就像用shebang(#!)调用bash脚本一样,可以用#!/bin/env python调用python脚本。然后,您只需通过chmod +x yourscript.py授予可执行权限,并像应用程序一样直接调用脚本。这样,您可以看到错误代码。另一种方法是使用logger模块,它非常适合查看回溯和调试信息。

正确的解决方案可能使用注释中建议的^{}

同时,您必须重定向标准输出和标准错误流,以便将正常输出捕获为脚本报告的任何错误:

#!/bin/sh
python recordSound.py >> logfile.log 2&>1

请参见one of the many web pages on that topic以了解shell脚本中可用的各种重定向。


此外,如果需要在控制台上同时登录实时视图,请使用^{}标准命令:

#!/bin/sh
python recordSound.py 2&>1 | tee logfile.log

一种非常简单的方法将输出从脚本重定向到文件

#!/bin/sh
python recordSound.py >> logfile.log

查看IO redirection上的文档

相关问题 更多 >