0
別のシェルスクリプト(B)からシェルスクリプト(A)を実行しようとしています。テスト目的のために、シェルスクリプト(A)は常に例外/エラー(テストのためだけ)を投げます。私はそのスクリプトを実行した直後に終了ステータスコードを取得しようとしています。シェルスクリプト実行の終了ステータスコード
コード:
ケース1:
errormsg=$(sample.sh 2>&1)
if [ $? -ne 0 ]
then
echo $?
echo "Successful."
else
echo $?
echo "Error."
出力:
0
Successful
ケース2:
errormsg=$(sample.sh 2>&1)
echo $?
if [ $? -ne 0 ]
then
echo $?
echo "Successful."
else
echo $?
echo "Error."
出力:
1
1
Error
なぜ出力に違いがありますか?ケース1でも出力が「エラー」ではないはずですか?
は解決策を見つけた別の結果を得る理由ですそれ
echo $?
です。とにかくありがとう。 –