我有bash脚本运行并返回并退出代码70.我尝试使用python获取退出代码,但它只会得到0,这是不同的。
我的bash脚本
#!/bin/bash
DATE=$(date +"%Y-%m-%d_%H%M")
raspistill -vf -hf -o /home/pi/camera/$DATE.jpg
echo $?
输出
mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
mmal: camera component couldn't be enabled
mmal: main: Failed to create camera component
mmal: Failed to run camera app. Please check for firmware updates
70
我的python代码
import os
import subprocess
os.chdir("/test")
result = subprocess.Popen("./test.sh")
text = result.communicate()[0]
returncode = result.returncode
print (returncode)
输出
mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
mmal: camera component couldn't be enabled
mmal: main: Failed to create camera component
mmal: Failed to run camera app. Please check for firmware updates
70
0
答案 0 :(得分:0)
bash脚本的结果为0. raspistill
异常退出(退出代码70)。 bash中的return
命令设置脚本的返回值。
答案 1 :(得分:0)
返回码是脚本中执行的最后一个命令的退出状态。由于echo $?
成功运行,退出状态为0.尝试不带回声的脚本。
答案 2 :(得分:0)
最简单的解决方案是:
exit(returncode)