在一个名为testreturn.py的Python函数中定义如下: import sys def main(): sys.exit(1) 当在scrip.sh中定义的bash函数被调用时: #!/bin/bash function test() { python testreturn.py echo $? } 为什么下面的命令:`test`会输出`0`我希望这个bash函数可以输出python脚本的退出码。
因为 Python 默认不会调用 main,所以你需要显式地调用它。你需要:import sys def main(): sys.exit(1) if __name__ == "__main__": main()
main()
函数,因此sys.exit(1)
永远不会发生,所以它只是在脚本末尾结束并默认返回 0。 - abarnert