Bash - É necessário tornar a saída do df amigável no login

Bash - É necessário tornar a saída do df amigável no login

Estou tentando exibir o espaço livre em disco para os usuários quando eles fazem login. Basicamente, a saída de df -h. Eu adicionei isso ao .bash:

  echo -ne '\e[0;34m'"Disk: \e[m"$(df -h)"\n"

Funciona bem e exibe isso automaticamente no login do shell, mas o problema é que a saída é limitada. O formato da coluna não é preservado. Parece assim:

Sistema de arquivos 1024 blocos usados ​​Capacidade disponível montado em /dev/sda6 468789752 4907272 440046272 2% / none 4 0 4 0% /sys/fs/cgroup udev 3785472 4 3785468 1% /run/shm none 102400 0 102400 0% correr/ usuário /dev/sda1 184307 66572 104116 40% /boot

Quero que apareça no mesmo formato como se o usuário estivesse executando o df -h. Alguma sugestão sobre como modificar meu comando para obter uma saída amigável? Tentei usar df -P | column -ttambém, mas ainda está apertado.

Usando o servidor Ubuntu.

Responder1

as citações estão todas bagunçadas. Isso deve funcionar

 echo -ne '\e[0;34m' Disk: '\e[m' "$(df -h)" "\n"

Basicamente se você fizer

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$

As aspas ao redor da variável mantêm a formatação sob controle

informação relacionada