
Estoy intentando mostrar el espacio libre en disco a los usuarios cuando inician sesión. Básicamente la salida de df -h. Agregué esto a .bash:
echo -ne '\e[0;34m'"Disk: \e[m"$(df -h)"\n"
Funciona bien y muestra esto automáticamente al iniciar sesión en el shell, pero el problema es que la salida está limitada. El formato de la columna no se conserva. Aparece así:
Sistema de archivos 1024 bloques Utilizado Capacidad disponible Montado en /dev/sda6 468789752 4907272 440046272 2% / ninguno 4 0 4 0% /sys/fs/cgroup udev 3785472 4 3785468 1% /run/shm ninguno 102400 0 102400 /ejecutar/ usuario /dev/sda1 184307 66572 104116 40% /arranque
Quiero que aparezca en el mismo formato que si el usuario estuviera ejecutando df -h
. ¿Alguna sugerencia sobre cómo modificar mi comando para obtener un resultado fácil de usar? Intenté usarlo df -P | column -t
también pero todavía está apretado.
Usando el servidor Ubuntu.
Respuesta1
las citas están todas en mal estado. Esto debería funcionar
echo -ne '\e[0;34m' Disk: '\e[m' "$(df -h)" "\n"
Básicamente si lo haces
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$
Las comillas alrededor de la variable mantienen el formato bajo control.