从python脚本调用shell脚本时从shell脚本返回一个值

时间:2014-11-12 00:05:47

标签: python shell

我有一个shell脚本abc.sh,它使用custom_package.py函数调用从Python脚本subprocess.call调用。我想从abc.sh返回一个值并在Python中读取它。

Python对shell脚本的调用如下。

subprocess.call(['abc.sh', user, password])

abc.sh回声“正在运行”或“未运行”。如何在Python脚本中捕获“正在运行”或“未运行”?类似的东西:

ret_val = subprocess.call(['abc.sh', user, password])

我已经尝试了subprocess.check_output,但它无效。

ret_val = subprocess.check_output(['abc.sh', user, password])

1 个答案:

答案 0 :(得分:3)

使用subprocess.check_output捕获子进程的输出。如果字符串'not'不在返回值中,则输出只是'running'

output = subprocess.check_output(['abc.sh', user, password])
print(output)
running = 'not' not in output