実行されたコマンドからエラーメッセージをキャプチャする方法は?

実行されたコマンドからエラーメッセージをキャプチャする方法は?

私は自動化されたサーバー強化スクリプトを作成する任務を引き受けました。エラーメッセージを文字列として保存し、テキストファイルに追加したいと思います。

次のコマンドを実行するとします。

/sbin/modprobe -n -v hfsplus

私のコンピュータでこれを実行すると、結果は次のようになります。

FATAL: Module hfsplus not found

このエラーメッセージを文字列としてどのように保存できますか?どんな助けでも大変感謝します。ありがとうございます!

ベストアンサー1

エラーコマンドをリダイレクトすることでこれを行うことができます。

/sbin/modprobe -n -v hfsplus 2> fileName 

スクリプトとして

#!/bin/bash
errormessage=$( /sbin/modprobe -n -v hfsplus 2>&1)
echo $errormessage

または

 #!/bin/bash
errormessage=`/sbin/modprobe -n -v hfsplus 2>&1 `
echo $errormessage

エラーを追加するには、>>代わりに使用してください。>

「予期しないトークン「&」付近の構文エラー」エラーを回避するには、2>&1代わりに使用してください。2> &1

おすすめ記事