为什么bash回显0用于退出1的Python函数?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (48)

使用testreturn.py定义如下的Python函数:

import sys
def main():
    sys.exit(1)

当从一个bash函数调用scrip.sh定义为:

#!/bin/bash
function test()
{  
   python testreturn.py
   echo $?
}

为什么执行以下命令:

test

输出

0

我希望bash函数能打印python脚本的退出代码。

提问于
用户回答回答于
import sys
def main():
    sys.exit(1)

if __name__ == "__main__":
    main()
用户回答回答于

因为你正在定义,但从不调用main()函数。代码正常完成(通过到达文件末尾),在这种情况下返回代码为0。

扫码关注云+社区

领取腾讯云代金券