これは、この質問に対するThinkingMediaの回答に対するコメントまたは編集であると思います(bashの現在のパーティションの空きディスク領域を確認する)が、コメントすることは許可されていません(十分な担当者ではありません)。私の編集は拒否されました(理由: 「これはコメントまたは回答である必要があります」)。ですから、SO宇宙の力は、誰かの「答え」を繰り返して修正することを私に気にしないでください。しかし、インターネット上の誰かが間違っていました!™そして彼らは私にそれを修正させませんでした。
コード
df --output=avail -h "$PWD" | sed '1d;s/[^0-9]//g'
重大な欠陥があります:はい、それは50G
50として無料で出力されます-しかし、それはまた5.0M
、50 3.4G
として15K
無料または34 として無料または15として無料で出力されます。
特定の空きディスク容量をチェックする目的でスクリプトを作成するには、チェック対象のユニットを知っている必要があります。それを削除してください(sed
上記の例のように)番号はもう意味がありません。
実際に機能させたい場合は、次のようにする必要があります。
FREE=`df -k --output=avail "$PWD" | tail -n1` # df -k not df -h
if [[ $FREE -lt 10485760 ]]; then # 10G = 10*1024*1024k
# less than 10GBs free!
fi;
また、インストーラにとっては、df -k $INSTALL_TARGET_DIRECTORY
よりも意味があるかもしれませんdf -k "$PWD"
。最後に、この--output
フラグはdf / linuxのすべてのバージョンで使用できるわけではないことに注意してください。
-P
フラグを使用してdf
、すべてを1行で取得します。