如何在Shell中捕获Python脚本的返回值而非打印输出?
捕获Python脚本的返回值(退出码)
首先要确保你的Python脚本正确传递返回值作为脚本的退出码——Python函数的return值不会自动成为脚本的退出码,需要显式调用退出函数传递:
def main(): print("hello") return 1 if __name__ == "__main__": exit(main()) # 将函数返回值设为脚本的退出码
接着在Shell中,执行完Python脚本后,通过特殊变量$?获取其退出码:
# 执行目标Python脚本 python3 your_script.py # 捕获并使用返回值 ret_val=$? echo "脚本返回值为: $ret_val"
执行后,Shell会先输出Python脚本打印的hello,然后输出脚本返回值为: 1,以此成功捕获到脚本返回的1,而非打印内容。
内容的提问来源于stack exchange,提问作者instant501
相关产品推荐
相关产品推荐

