首页 > 解决方案 > 如何使用从 Python 返回的输入参数从 Bash 脚本执行 Python 脚本?

问题描述

我从 bash 脚本调用 py 脚本,但是我的 python 脚本返回了我想在 bash 脚本中使用的值。有人可以帮忙吗?

标签: pythonbash

解决方案


你好

这很简单。只需使用 print() 输出您想要的内容,您就可以使用此输出。从 python 函数中,您还可以使用 return 和字符串或其他任何内容将输出作为 bash/sh 脚本的输入。在 linux 中,当程序/脚本以零( 0 )的返回码退出时,一切都很好。所以规则应该是:以文本形式返回/退出/错误消息:print('whatever') Returncode:sys.exit(number)

#!/usr/bin/python3
import sys
print('No error - But i return 1 and not 0')
sys.exit(1)

玩 bash ( test.py ) ...

# test.py &>/dev/null && echo 'zero' || echo 'not zero'
not zero
# echo -ne $(test.py)'\n'
No error - But i return 1 and not 0

所以第一个命令(short if then else)只检查返回码(exitcode),第二个使用输出。两者都使用,一切都很好。


推荐阅读