Нижеприведенный псевдоним хорошо работает, 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
Баш терпит неудачу
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"
}
(ЭтоБашПитфолл #2и#4.)