生成特定的非零返回码?

时间:2016-09-28 10:54:50

标签: linux bash

我正在研究一些调用各种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一起提供)。

3 个答案:

答案 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。