Como os aliases bash podem ser configurados para manipular espaços em nomes de diretórios? [duplicado]

1

O alias abaixo funciona bem em zsh quando os espaços nos nomes dos diretórios são \ escaped, mas bash não os manipula corretamente. Quais mudanças seriam necessárias para fazê-las funcionar corretamente com o bash.

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

o zsh é bem-sucedido

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

o 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 em bash ?

    
por vfclists 30.05.2017 / 21:42

1 resposta

4

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

Cite a variável:

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

(Isso é BashPitfall # 2 e # 4 .)

    
por 30.05.2017 / 21:45