Como os aliases do bash podem ser configurados para lidar com espaços em nomes de diretórios?

Como os aliases do bash podem ser configurados para lidar com espaços em nomes de diretórios?

O alias abaixo funciona bem zshquando os espaços nos nomes dos diretórios são \escapados, mas bashnão os trata corretamente. Quais mudanças seriam necessárias para fazê-los funcionar corretamente com o bash.

dum() {
  du -h --max-depth=1 $1  
}

zsh consegue

 user@server: dum "Server Configuration"
32K     Server Configuration
 user@server: dum Server\ Configuration
32K     Server Configuration

bash falha

user@server:~$ dum "Server Configuration"
8.0K    Server/install_scripts
300K    Server
du: cannot access 'Configuration': No such file or directory
user@server:~$ dum Server\ Configuration/
8.0K    Server/install_scripts
300K    Server
du: cannot access 'Configuration/': No such file or directory      

Como o alias pode ser escrito para que funcione bash?

Responder1

(Isso é uma função, não um alias)

Cite a variável:

dum() {
  du -h --max-depth=1 "$1"  
}

(Isso éBashPitfall #2e#4.)

informação relacionada