ZSH:
Якщо ви користуєтеся zsh
alias -g ,,=".."
тим, що вам потрібно, але це призведе до розширення ",," скрізь, не тільки при використанні cd
.
Від man zshbuiltins
:
Якщо -g
прапор присутній, визначте глобальний псевдонім; глобальні псевдоніми розширюються, навіть якщо вони не зустрічаються в командному положенні.
БАШ:
Якщо обмежено обмеженням bash
(оскільки питання позначено bash ), прочитайте наступне:
Це чисте псевдонім рішення, як вимагається, однак це зробить більше, ніж потрібно, можливо, розчарує користувача (див. Попередження в кінці мого повідомлення).
Цитування man bash
:
Якщо останній символ значення псевдоніму є порожнім, то наступне командне слово, що йде за псевдонімом, також перевіряється на наявність розширення псевдоніму.
Тому достатньо псевдоніму cd
з додатковим простором (щоб дозволити розширення наступного аргументу), а потім псевдоніму ,,
до ..
. Бачиш це
alias cd='cd '
alias ,,='..'
дає саме те, що потрібно.
Зауважте, що це правильно не тільки для bash
(та її alias
реалізації), але і всіх оболонок компілятора POSIX. Наводячи приклад з man 1p alias
(посібник не описує цю функцію прямо, лише через приклад):
Налаштуйте nohup так, щоб він міг працювати з аргументом, який сам по собі псевдонім ім'я:
alias nohup="nohup "
Попередження:
Як пише @PeterCordes у своєму коментарі, це автоматично призведе до розширення інших псевдонімів, коли вони написані після cd
. Можливо, вам потрібно буде написати, cd \grep
якщо ви хочете змінити каталог на один з названих, grep
але ваш grep
псевдонім для grep --color=auto
. Без зворотної косої риски cd
буде повідомлено про помилку "занадто багато аргументів" (ви не cd
можете відразу до двох каталогів) !.
$ ,,
буде скаржитися, як такої:bash: ..: Is a directory
. (Іншими словами, це не виконується файл.)