echoステートメントにコマンドを含める方法は?

echoステートメントにコマンドを含める方法は?

とても簡単ですが、ここではまさにこの質問をする質問が見つかりませんでした。

私はこれがうまくいくと思いましたが、そうではありません。

echo "Your disk usage is ${df -k -h}."

上記の作業をどのように実行しますか?

ベストアンサー1

使用$()、使用しない${}

echo "Your disk usage is $(df -h)."

df -h複数行の出力(ヘッダー用の1つ、マウントされた各ファイルシステム用の1つ)があるため、echoステートメントに含めると非常に見苦しくなります。

表示する内容(ホームディレクトリを含むファイルシステムのディスク使用量など)をより具体的に指定し、印刷したい詳細のみを抽出することでこの問題を解決できます。たとえば、

printf 'Your disk usage on %s is %s\n' $(df -h ~ | awk 'NR==2 {print $6, $3}') 

おすすめ記事