以下の私の例に似た何かをする標準のUnixコマンドはありますか
$ <cmd here> 56
$ echo Return code was $?
Return code was 56
$
<cmd here>
forkで実行できるもので、プロセスの終了時に終了コードとして56を残すものでなければなりません。exit
そしてreturn
シェル組み込みコマンドは、私はそれから出たことで、彼らが起動したシェル自体に影響を与えるので、探しています何のためには適していません。<some cmd>
は、シェル以外のコンテキストで実行できるものである必要がありますsubprocess
。たとえば、を使用してPythonスクリプトから呼び出します。
たとえば、/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
私が考えることができる唯一のものですが、それはあなたのシェルを終了する傾向があります。bash -c 'exit 56'
またはbash -c "exit $1"
あなたのために働くかもしれません。