是否可以在python中获取在shell上运行的上一个命令的退出代码?
我想编写一个脚本,它将返回当前设置的相同错误代码(假设python命令成功)。这相当于在bash中做这样的事情:
#!/bin/bash
err=$?
# Do something...
exit $err
如果可能的话,我想避免将其作为参数传递。例如:
python script.py $?
答案 0 :(得分:2)
恕我直言,这是不可能的。由bash启动的命令无法访问shell变量,也无法访问shell本身。它只能知道:
但我不知道任何bash API可以获得更多。
答案 1 :(得分:2)
我想说你的解决方案(将“上一个命令”和Python脚本包装在跟踪返回码的shell脚本中)是可行的方法:
#!/bin/bash
first_command
ERR=$?
python second_script.py
exit $ERR
Python脚本将更具可重用性,因为它不必依赖任何有关其环境的假设。
为什么这种包装解决方案不适合您的情况?