[解決済み】コマンド出力をTeeにパイプしつつ、コマンドの終了コードを保存する【重複あり
2022-04-12 11:04:04
質問
私は、コマンド(mvn clean install)をラップするシェルスクリプトを持っていて、出力をログファイルにリダイレクトしています。
#!/bin/bash
...
mvn clean install $@ | tee $logfile
echo $? # Does not show the return code of mvn clean install
では、もし
mvn clean install
がエラーで失敗したら、ラッパー・シェル・スクリプトもそのエラーで失敗するようにしたいのです。しかし、私はすべての出力をteeにパイプするので、私は
mvn clean install
にアクセスすると
$?
その後、常に 0 になります (ティーが成功したため)。
コマンドでエラー出力を別ファイルに書き込ませて、後でそれを確認するようにしてみましたが、mvnのエラー出力はいつも空です(標準出力にしか書き込まないような気がします)。
のリターンコードを保持するにはどうすればよいですか?
mvn clean install
が、ログファイルにパイプで出力しているのでしょうか?
解決方法は?
を実行しているので
bash
を使用すると、その
ピップエステータス
変数の代わりに
$?
:
mvn clean install $@ | tee $logfile
echo ${PIPESTATUS[0]}
関連
-
[解決済み] etc/profileでVISIBLE=NOWを設定するのはなぜですか?
-
[解決済み] bashスクリプトでfindコマンドを使用する
-
[解決済み] Grep 'binary file matches'. どうすれば正常なgrepの出力が得られるか?[重複]する
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] シェルコマンドの実行と出力のキャプチャ
-
[解決済み] シェルスクリプトからエコーを使わずにパスワードを取得する方法
-
[解決済み] Bashでパイプ出力と終了ステータスをキャプチャする
-
[解決済み】サブプロセスコマンドからのライブ出力
-
[解決済み] コマンド出力を変数に格納する際に、改行を保持する方法は?
-
[解決済み] STDOUTとSTDERRの両方をターミナルとログファイルに出力するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】予期しないトークン 'fi' 付近の構文エラー
-
[解決済み] bash : cd : 引数が多すぎる [閉店].
-
[解決済み] ファイルに書き込むが、ファイルが存在する場合は上書きする
-
[解決済み] Bashでの動的な変数名
-
[解決済み] rsyncです。--include-from vs. --exclude-from 実際の違いは何ですか?
-
[解決済み] シンプルなAsciiテーブルをCSVに変換する【終了】。
-
[解決済み] Bash - "fi ;;" の使い方は?
-
[解決済み] 環境変数を表示/エコーするには?
-
[解決済み] bashの"-ne "はどういう意味ですか?
-
[解決済み] Bashでパイプ出力と終了ステータスをキャプチャする