Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 是否生成特定的非零返回代码?_Linux_Bash - Fatal编程技术网

Linux 是否生成特定的非零返回代码?

Linux 是否生成特定的非零返回代码?,linux,bash,Linux,Bash,我正在编写一些python代码,这些代码调用各种linux工具(如ssh)以实现自动化。现在我正在研究“返回代码”处理 因此:我正在寻找一种简单的方法来运行某个命令,该命令给我一个特定的非零返回代码;差不多 echo "this is a testcommand, that should return with rc=5" 比如说。当然,上面的结果是rc=0 我知道我可以调用false,但这将始终返回rc=1。我正在寻找的东西,给我一个钢筋混凝土,我可以控制 编辑:第一个答案建议退出;但问题是

我正在编写一些python代码,这些代码调用各种linux工具(如ssh)以实现自动化。现在我正在研究“返回代码”处理

因此:我正在寻找一种简单的方法来运行某个命令,该命令给我一个特定的非零返回代码;差不多

echo "this is a testcommand, that should return with rc=5"
比如说。当然,上面的结果是rc=0

我知道我可以调用
false
,但这将始终返回rc=1。我正在寻找的东西,给我一个钢筋混凝土,我可以控制

编辑:第一个答案建议退出;但问题是:exit是一个bash函数。因此,当我试图在python脚本中运行它时,我得到“没有这样的文件或目录:退出”


所以,我实际上是在寻找一种“二进制”工具,它可以提供给我这个功能(显然,人们可以编写一些简单的脚本来实现这个功能;我只是在寻找是否有类似于false的东西已经随任何Linux/Unix一起提供了)。

在子shell中运行
exit

$ (exit 5) ; echo $?
5

这并不完全是您所要求的,但是可以通过exit命令实现自定义
rc

 echo "this is a test command, that should return with " ;exit 5
 echo $?
 5

我在
.bashrc
中定义了此函数:

return_errorcode () 
{ 
    return $1
}
所以,我可以直接使用

$ return_errorcode 5
$ echo $?
5

(退出5)相比;echo$?
选项,这个机制为您节省了一个子shell。

当我直接在bash中执行它时,它可以很好地工作。但是我需要python为我运行的命令(比如false)。任何进一步的想法都是受欢迎的。在这种情况下,只需调用一个shell就可以让它返回值
sh-c“出口5”
给出或获取一些微妙之处,在
cmd_str=“bash-c‘出口5’”
中完成了任务!谢谢您将如何从Python运行该命令
subprocess.Popen('exit 5',shell=True
可以工作。
$ (exit 5) ; echo $?
5