少し作りたいです。終了コード、20としましょう。
しかし、シェルでこれを行うと、次のようになります。
$ exit 20
シェルが閉じたか(X-Windowsの場合)ログアウトしました(テキストコンソールの場合)。もちろん、.shスクリプトではこのコマンドは正しく機能します。
私は持っていますテスト済みです。成功しませんでした:
$ return 20
bash: return: can only `return' from a function or sourced script
$ break 20
bash: break: only meaningful in a `for', `while', or `until' loop
どのような方法がありますか?割り当て$?
変える?
答え1
サブシェルで終了します。
(exit 20)
あるいは、次のように関数を書くこともできます。
ret () { return $1; }
ret 20