我正在研究一些调用各种linux工具(如ssh)的python代码,以实现自动化。现在我正在研究"返回代码"处理。
因此:我正在寻找一种简单的方法来运行一些命令,它给出了一个特定的非零返回码;
之类的东西echo "this is a testcommand, that should return with rc=5"
例如,。但是当然,上面的回复是rc = 0.
我知道我可以拨打false
,但这将始终以rc = 1返回。我正在寻找能给我一个可以控制的遥控器的东西。
编辑:第一个答案建议退出;但问题是:退出是一个bash函数。因此,当我尝试从python脚本中运行它时,我得到了#34;没有这样的文件或目录:退出"。
所以,我实际上正在寻找一些"二进制"给我这个工具(显然可以编写一些简单的脚本来获取它;我只是在寻找类似于 false 的东西,它已经随任何Linux / Unix一起提供)。
答案 0 :(得分:5)
在子shell中运行exit
。
$ (exit 5) ; echo $?
5
答案 1 :(得分:2)
这不是您要求的,但可以通过exit命令实现自定义rc
。
echo "this is a test command, that should return with " ;exit 5
echo $?
5
答案 2 :(得分:2)
我在.bashrc
:
return_errorcode ()
{
return $1
}
所以,我可以直接使用像
这样的东西$ return_errorcode 5
$ echo $?
5
与(exit 5); echo $?
选项相比,此机制为您保存了一个子shell。