为什么bash echo print 0表示退出1的Python函数

Dan*_*ook 3 python bash

使用Python函数testreturn.py定义为:

import sys
def main():
    sys.exit(1)
Run Code Online (Sandbox Code Playgroud)

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

#!/bin/bash
function test()
{  
   python testreturn.py
   echo $?
}
Run Code Online (Sandbox Code Playgroud)

为什么以下命令:

test

打印

0

我想bash函数打印python脚本的退出代码.

nos*_*klo 5

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