52

2 つの Bash スクリプトがあります。親スクリプトは、サブスクリプトを呼び出していくつかのアクションを実行し、値を返します。添え字から親スクリプトに値を返すにはどうすればよいですか? 添え字にa を追加returnし、親で値をキャッチしても機能しませんでした。

4

3 に答える 3

72

これらのスクリプトは 2 つの異なるプロセスで実行されていると想定しています。

何を返したいかによります。0 から 255 までの終了コードのみを返したい場合は、次のようにします。

# Child (for example: 'child_script')
exit 42
# Parent
child_script
retn_code=$?

テキスト文字列を返したい場合は、stdout (またはファイル) を介してそれを行う必要があります。それをキャプチャする方法はいくつかありますが、最も簡単な方法は次のとおりです。

# Child (for example: 'child_script')
echo "some text value"
# Parent
retn_value=$(child_script)
于 2013-05-02T12:56:14.120 に答える