Ich schreibe einen Installer in Bash. Der Benutzer wechselt in das Zielverzeichnis und führt das Installationsskript aus. Die erste Aktion sollte daher darin bestehen, zu überprüfen, ob genügend Speicherplatz vorhanden ist. Ich weiß, dass df alle Dateisysteme melden wird, aber ich habe mich gefragt, ob es eine Möglichkeit gibt, den freien Speicherplatz nur für die Partition zu erhalten, auf der sich das Zielverzeichnis befindet.
Bearbeiten - die Antwort, die ich mir ausgedacht habe
df $PWD | awk '/[0-9]%/{print $(NF-2)}'
Etwas seltsam, da df seine Ausgabe so zu formatieren scheint, dass sie zum Terminal passt. Bei einem langen Einhängepunktnamen wird die Ausgabe also um eine Linie verschoben
du -hs .
mit dem Speicherplatz, der für das aktuelle Verzeichnis verwendet wird.
-P
Flaggedf
, um alles in einer Zeile zu erhalten.