
Ich versuche, den Benutzern beim Anmelden den freien Speicherplatz auf der Festplatte anzuzeigen. Im Wesentlichen die Ausgabe von df -h. Ich habe Folgendes zu .bash hinzugefügt:
echo -ne '\e[0;34m'"Disk: \e[m"$(df -h)"\n"
Es funktioniert einwandfrei und wird beim Shell-Login automatisch angezeigt, aber das Problem ist, dass die Ausgabe sehr eng ist. Das Spaltenformat wird nicht beibehalten. Es sieht folgendermaßen aus:
Dateisystem 1024-Blöcke Verwendet Verfügbare Kapazität Eingebunden auf /dev/sda6 468789752 4907272 440046272 2 % / keine 4 0 4 0 % /sys/fs/cgroup udev 3785472 4 3785468 1 % /run/shm keine 102400 0 102400 0 % /run/user /dev/sda1 184307 66572 104116 40 % /boot
Ich möchte, dass es im gleichen Format angezeigt wird, als ob der Benutzer es ausführt df -h
. Irgendwelche Vorschläge, wie ich meinen Befehl ändern kann, um eine benutzerfreundliche Ausgabe zu erhalten? Ich habe df -P | column -t
auch versucht, es zu verwenden, aber es ist immer noch eng.
Ubuntu-Server wird verwendet.
Antwort1
Anführungszeichen sind alle durcheinander. Das sollte funktionieren
echo -ne '\e[0;34m' Disk: '\e[m' "$(df -h)" "\n"
Wenn Sie dies tun,
managemac3$ df=`df -h`
managemac3$ echo $df
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on /dev/disk0s2 233Gi 54Gi 179Gi 24% 14151768 46917672 23% / devfs 207Ki 207Ki 0Bi 100% 716 0 100% /dev map -hosts 0Bi 0Bi 0Bi 100% 0 0 100% /net map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /home
managemac3$ echo "$df"
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk0s2 233Gi 54Gi 179Gi 24% 14151768 46917672 23% /
devfs 207Ki 207Ki 0Bi 100% 716 0 100% /dev
map -hosts 0Bi 0Bi 0Bi 100% 0 0 100% /net
map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /home
managemac3$
Die Anführungszeichen um die Variable herum halten die Formatierung unter Kontrolle