script1.sh と script2.sh という 2 つのシェル スクリプトがあります。script1.sh から script2.sh を呼び出しています。script2.sh では、いくつかの評価が行われ、その結果に基づいてフラグが設定されています。ここで、フラグを script1.sh に渡す必要があります。これに基づいて、script1.sh が実行を継続するか終了するかが決定されます。私は関数を使用していません。フラグをエクスポートしている間、script1.shでは空白です。
私の質問は、 script2.sh からフラグを返すにはどうすればよいですか?
助けはありますか?何か案は?共有する経験?
質問する
6985 次
3 に答える
3
結果を印刷して、script1 に取り込むことができます。
# Script 1
flag="$(./script2.bash)"
と:
# Script 2
[...]
printf '%s\n' "$flag"
これが役立つことを願っています=)
于 2012-10-17T14:08:50.440 に答える
2
script2 の終了ステータスを使用するだけです。
if script2.sh ; then
echo Exited with zero value
else
echo Exited with non zero
fi
フラグを設定するには、script2 で or をexit 0
使用します。exit 1
于 2012-10-17T14:10:05.833 に答える
1
script2.sh
(se by the statement exit {value}
)からの戻りコードを使用することを期待します。
例えば
./script2.sh
$?
script2.sh
の exit ステートメントからの戻り値が含まれます。
ここでは使用できませんexport
。export
後続のサブプロセスで変数を使用できるようにします。サブプロセスに固有の変数のコピーを変更しているため、値を親プロセスに戻すために使用することはできません。
于 2012-10-17T14:08:06.557 に答える