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

时间:2018-06-13 20:14:33

标签: python bash

import sys def main(): sys.exit(1) 中的Python函数定义为:

scrip.sh

#!/bin/bash function test() { python testreturn.py echo $? } 中的bash函数调用时定义为:

test

为什么执行以下命令:

0

打印

var label = document.createElement('label'); label.classList.add('checkbox-container'); var input = document.createElement('INPUT'); input.setAttribute('type', 'checkbox'); var span = document.createElement('span'); span.classList.add('checkmark'); label.appendChild(input); label.insertAdjacentHTML( 'beforeend', "Some Text" ); label.appendChild(span); document.body.append(label);

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

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:4)

因为默认情况下python不会调用main。你必须明确地调用它。

你想:

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

if __name__ == "__main__":
    main()