从shell脚本获取pytest退出代码

2022-03-01 00:00:00 python shell pytest

问题描述

我正在从shell脚本运行pytest。 脚本中的相关行类似于:

pytest pytest_tests --param=$my_param

根据pytest文档,"运行pytest会导致6个不同的退出代码"(0-5)。 我的问题是如何从脚本中获取此退出代码? 我尝试了类似

的内容
exit_code = pytest pytest_tests --param=$my_param
echo $exit_code

但是我得到了这个:

exit_code: command not found

我怎样才能拿到它?或者,是否有更好的方法在shell脚本中获取最简单的结果?


解决方案

命令运行后,其退出代码应通过$? variable可用。尝试执行以下操作:

pytest pytest_tests --param=$my_param
echo Pytest exited $?

这可以在Bash中使用,也应该可以在常规shBourne shell和zsh中使用。

如果需要将其赋给其他变量,请使用

my_var=$?

请注意空格不足。

相关文章