ЗШ:
Если вы используете zsh alias -g ,,=".."то, что вам нужно, но это приведет к тому, что «,,» будет расширяться везде, а не только при использовании с cd.
От man zshbuiltins:
Если -g флаг присутствует, определите глобальный псевдоним; глобальные псевдонимы расширяются, даже если они не встречаются в командном положении.
BASH:
Если ограничено 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. (Другими словами, это не исполняемый файл.)