とても簡単ですが、ここではまさにこの質問をする質問が見つかりませんでした。
私はこれがうまくいくと思いましたが、そうではありません。
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}')
答え2
以下ksh
を行う必要があります。
echo "... ${df -k -h;}"
現在のディレクトリがあるファイルシステムの使用率を表示し、最新のパッケージがインストールされているutil-linux
Linuxシステムを使用している場合は、次の手順を実行する必要があります。
printf "Your disk usage is:\t"
(until findmnt -noTARGET,USE% .;do cd ..; done)