如何配置 bash 别名来处理目录名称中的空格?

如何配置 bash 别名来处理目录名称中的空格?

zsh当目录名称中的空格被转义时,下面的别名可以很好地工作\,但bash不能正确处理它们。需要进行哪些更改才能使它们与 bash 正常工作。

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

zsh 成功

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

bash 失败

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      

如何编写别名才能使其在 中工作bash

答案1

(这是一个函数,而不是别名)

引用变量:

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

(那是Bash 陷阱 #2#4.)

相关内容