コマンドを実行し、すべてをbashの変数に保存します。

コマンドを実行し、すべてをbashの変数に保存します。

私が開発しているbashスクリプトでコマンドを実行し、変数をキャプチャしようとしています。

  • 標準出力
  • 標準エラー
  • ステータスコード

この目標を達成する方法は?順序はですtar

私は最も標準的なアプローチを試しました。

TAROUTPUT=$(tar -cf arch.tar /path/to/dir)

tar私が行ったいくつかのタスクによると(実際に失敗を生成するわけではありません)標準出力これから、stderrは変数に保存されていないようです。完全な解決策はTAROUTPUT(stdoutとstderrを使用)とTARSTATUS変数です。

よろしくお願いします。

ベストアンサー1

TAROUTPUT=$(tar -cf arch.tar /path/to/dir 2>&1)
this_is_the_tar_exit_code=$?

おすすめ記事