環境は、Windows10 WSL2(ubuntu-20.04)です。
コードは以下の通りです。
./test.sh
#!/bin/bash echo abc | grep xyz || echo 'error!'
上記の出力結果をタイトルにあるように「標準エラー出力 + 異常終了」にしたいと思っています。
終了ステータスは、
#!/bin/bash echo abc | grep xyz || echo 'error!' echo $? # $ ./test.sh の結果は、 # error! # 0
なので、異常終了にするのは、
$ echo abc | grep xyz || echo 'error!'; exit 1
ここまではいいのですが、わからないのは、echo 'error!'
が「標準エラー出力」になるのか、それとも「標準出力」になるのかです。
正常終了の 0 で終わっているので、もしecho 'error!'
が「標準出力」ならば、下記のようにしたいと思っています。
$ echo abc | grep xyz || echo 'error!' >&2; exit 1
でも、||
の前の終了ステータスは、異常終了の 1 なので、いまいち自信がありません。
>&2
は必要でしょうか?
稚拙な質問で恐縮ですが、ご存じの方いらっしゃいましたら、教えてください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/06/07 01:45
2021/06/07 06:07
退会済みユーザー
2021/06/07 07:45