Есть ли способ присвоить псевдониму команду cd, чтобы она защищала аргументы?
Когда я бегу
cd My folder
Произошла ошибка, потому что я не защищал строку.
bash: cd: My: No such file or directory
Но это работает нормально
cd "My folder"
Есть ли способ переопределить cd в качестве псевдонима или функции, чтобы она автоматически защищала все следующие аргументы как одну строку?
Этот подход не сработал, как я и предполагал:
cd () { cd "$*" ; }
1 ответ
Решение
Вы можете сделать это, но только если ваши имена каталогов не содержат несколько последовательных пробелов, и только если они не содержат специальных символов оболочки, кроме пробелов.
cd () { builtin cd "$*"; }
На практике используйте завершение: тип cd My затем нажмите Tab. Bash вставит обратную косую черту перед специальными символами.