Obtendo o uso do disco para cada usuário

5

Quando digito sudo du -sh ~student1 , obtenho a saída esperada (veja a captura de tela). No entanto, quando tento usar o script abaixo:

#!/bin/bash

for user in "$@"; do
    sudo du -sh ~$user
done

para fazer a mesma coisa, recebo um erro que o diretório não existe. Aqui é uma captura de tela.

(Euseiquepossofazersudodu-shstudent1student2...,equeoscriptbashéinútil,maseuaindanãoentendoporqueissonãofunciona.)

Eudeiumaolhada Uso total de disco para um usuário em particular , mas não foi bem o que Eu estava procurando por.

    
por kg98 26.10.2017 / 13:17

1 resposta

4

O shell faz uma única passagem nos parâmetros de expansão, então $user é expandido, mas o ~ anterior não é expandido. Para recuperar a linha de entrada, use eval :

...
eval sudo du -sh ~$user
...
    
por 26.10.2017 / 13:34

Tags