我有一个 bash 脚本 a.sh ,我在其中调用了一个 python 脚本 b.py 。 python 脚本计算了一些东西,我希望它返回一个稍后将在 a.sh 中使用的值。我知道我能做到
在 .sh 中:
var=`python b.py`
在 b.py 中:
print x # when x is the value I want to pass
但这不是很方便,因为我还在 b.py 中打印了其他消息
有没有更好的方法呢?
编辑:
我现在所做的只是
var=`python b.py | tail -n 1`
这意味着我可以在 b.py 中打印很多东西,但只有最后一行(最后一行打印命令,假设它不包含“\n”)将存储在 var 中。
感谢所有的答案!
原文由 Rivka 发布,翻译遵循 CC BY-SA 4.0 许可协议
我会将它打印到在命令行上选择的文件中,然后我会在 bash 中使用
cat
类的东西获得该值。所以你会去:
[编辑,基于其他答案的另一个想法]
您的另一个选择是仔细格式化您的输出,以便您可以使用 bash 函数,如
head
/tail
仅将第一行/最后一行通过管道传输到下一个程序中。