【发布时间】:2018-10-31 06:55:05
【问题描述】:
我的pythonscript看起来像这样
#!/usr/bin/python3
#File Name: pythonScript.py
from sys import exit
if '__name__'=='__main__':exit(402)
这是shell脚本
python3 pythonScript.py
echo $?
它打印 146。 402如何映射到146?诸如此类的其他一些对是 (402, 146), (100,0), (0, 0), (56, 0) 等。
python 脚本可以以这种方式将值返回给 shell,? 是捕获这个的正确变量吗?
我的机器版本是这个,如果这很重要的话。
4.4.0-89-generic #112-Ubuntu SMP Mon Jul 31 19:38:41 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
【问题讨论】:
-
您的问题已经在stackoverflow.com/questions/9426045/… 中有答案,例如范围 0..255 之外的任何值都以 256 为模处理(退出状态存储在 8 位值中)。 402 % 256 = 146
-
python -c 'exit(100)'按预期为我在$?中生成 100。您问题中的其他“对”似乎不正确(或者我误解了您要说的内容)。
标签: bash shell linux-kernel return python-3.5