【发布时间】:2016-01-25 01:17:54
【问题描述】:
假设我的 shell 脚本在运行时返回值“19”。我想将该值(没有任何返回值 0 或空行)存储到我的 python 代码中的一个变量中以供以后使用。
这里有很多问题与我的类似参考,但我还没有找到解决方案,其中 shell 脚本返回我 '19' 而没有额外的返回值 0 或新行。
在 python 代码中使用 subprocess.call('bash TestingCode', shell=True) 会返回我想要的结果,但是当我将此命令存储在一个变量中然后打印该变量时,它会打印一个额外的 0。
answer = subprocess.call('bash TestingCode', shell=True)
print answer
>>19>>0
然后我尝试了这个问题的一个例子:How to return a value from a shell script in a python script
但是它会返回一个额外的空行。
answer = subprocess.check_output('bash TestingCode', shell=True)
print answer
>>19
>>
非常感谢您的帮助!
更新:TestingCode 脚本
#!/bin/bash
num=19
echo $num
【问题讨论】:
-
您会在屏幕上看到
19,因为 bash 脚本运行print(19)(或类似的东西)。它不会返回19并且您不能将其分配给变量。如果脚本运行exit(19)(或类似的东西),那么你会在变量answer中得到这个值 -
你能分享你的shell脚本吗
-
@AlokThakur 我的 shell 脚本只是
num=19echo $num
标签: python bash python-2.7 shell