是否有标准的Unix命令,其执行的操作与以下示例相似
$ <cmd here> 56
$ echo Return code was $?
Return code was 56
$
<cmd here>
应该是可以分叉执行的东西,当进程退出时将56作为退出代码。在exit
和return
shell内建不适合我要找的,因为它们影响调用shell本身它退出了。<some cmd>
应该是我可以在非shell上下文中执行的东西-例如,使用调用Python脚本subprocess
。
例如,/usr/bin/false
总是立即返回返回码1,但是我想精确控制返回码是什么。我可以通过编写自己的包装脚本来达到相同的结果
$ cat my-wrapper-script.sh # i.e., <some cmd> = ./my-wrapper-script.sh
#!/usr/bin/bash
exit $1
$ ./my-wrapper-script.sh 56
$ echo $?
56
但是我希望这里确实存在可以为我做的标准Unix命令。
(exit 56)
样
true
和false
内置
exit
是我唯一想到的一个,但是它往往会终止您的shell。bash -c 'exit 56'
或bash -c "exit $1"
可能为您工作。