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"
else
echo "Failed"
fi
$ 的回声值?是 1,由 python 脚本 sys.exit(1) 中的条件设置。但是,为什么我的 bash 输出是:
Success
而不是“失败”?不是美元吗?-eq 0 是假的吗?
解决方案
因为第二个$?
是指echo $?
命令的状态码。
如果要多次使用状态返回,请将其保存在 shell 变量中:
python test.py
status=$?
推荐阅读
- python - 如何按年扩展/添加行?
- postgresql - 如何使用 postgresql 和 kenx.js 从表中查询最近 3 个月的行
- powerbi - 如何将spotfire中的计算列转换为Power Bi
- java - 考虑到 URL/URI 格式输入字符串的可能性,是否有标准方法将字符串转换为文件
- flutter - 飞镖提供者:直系子女不可用
- r - 如何将函数的结果写入列表?
- sql - Access 数据库:如何从 SQL 数据库/表中导入查询的数据
- python - 如何使用python爬取html字符串内容(逐个标签)
- r - 将 3D 数组转换为数据框
- javascript - HTML5 音频适用于桌面和 iPhone,但不适用于 ipad