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. (Іншими словами, це не виконується файл.)