Python 基于$的输出错误?bash中的值
我有一个python脚本,test.py,它包含以下内容:Python 基于$的输出错误?bash中的值,python,bash,Python,Bash,我有一个python脚本,test.py,它包含以下内容: import sys def dosomething(): a=1 b=1 if a == b: sys.exit(1) if __name__ == "__main__": dosomething() 以及包含以下内容的bash脚本: python test.py echo $? if [ $? -eq 0 ]; then echo "Success&q
import sys
def dosomething():
a=1
b=1
if a == b:
sys.exit(1)
if __name__ == "__main__":
dosomething()
以及包含以下内容的bash脚本:
python test.py
echo $?
if [ $? -eq 0 ];
then
echo "Success"
else
echo "Failed"
fi
美元的回显值是多少?是1,由python脚本sys.exit(1)中的条件设置。但是,为什么我的bash输出是:
Success
而不是“失败”?美元不是吗-由于第二个
$?
引用了echo$?
命令的状态代码,因此等式0为false
如果要多次使用状态返回,请将其保存在shell变量中:
python test.py
status=$?
您可以将
if
语句更改为if python test.py;然后
。。。。