
Я пытаюсь отобразить свободное место на диске для пользователей при входе в систему. В основном вывод df -h. Я добавил это в .bash:
echo -ne '\e[0;34m'"Disk: \e[m"$(df -h)"\n"
Работает нормально и автоматически отображает это при входе в оболочку, но проблема в том, что вывод сжат. Формат столбца не сохраняется. Выглядит так:
Файловая система 1024 блока Использовано Доступная емкость Смонтировано на /dev/sda6 468789752 4907272 440046272 2% / нет 4 0 4 0% /sys/fs/cgroup udev 3785472 4 3785468 1% /run/shm нет 102400 0 102400 0% /run/user /dev/sda1 184307 66572 104116 40% /boot
Я хочу, чтобы он отображался в том же формате, как если бы пользователь запускал df -h
. Есть предложения, как изменить мою команду, чтобы получить удобный для пользователя вывод? Я пробовал использовать df -P | column -t
also, но он все еще тесный.
Использую сервер Ubuntu.
решение1
Все цитаты перепутаны. Это должно сработать
echo -ne '\e[0;34m' Disk: '\e[m' "$(df -h)" "\n"
В принципе, если вы это сделаете
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$
Кавычки заключены в переменную, которая контролирует форматирование.