コマンドの出力を使用して、出力をリダイレクトするファイルの名前を決定します。

コマンドの出力を使用して、出力をリダイレクトするファイルの名前を決定します。

smartctl -aその出力のデバイスシリアル番号を、出力が保存されるファイル名で実行して使用したいと思います。私はsmartctlこれを2回呼び出し、適切なテキスト操作を使用して出力を分割することでこれを行うことができることを知っています。 1回の呼び出しでこれを行う方法はありますかsmartctl

ベストアンサー1

出力をsmartctl変数に保存し、必要に応じて複数回使用してください。

smartctl_output=$(smartctl -a /dev/sda)
serial_number=$(printf %s "$smartctl_output" | awk 'sub(/^Serial Number: */,"")')
printf %s "$smartctl_output" >"$serial_number.txt"

おすすめ記事