ZSH:
Se você estiver usando zsh
alias -g ,,=".."
é o que você precisa, mas isso fará com que "," seja expandido em todos os lugares, não apenas quando usado com cd
.
De man zshbuiltins
:
If the
-g
flag is present, define a global alias; global aliases are expanded even if they do not occur in command position.
BASH:
Se estiver restrito a bash
(como a questão está marcada com bash ), leia o seguinte:
Esta é uma solução de puro pseudônimo, conforme solicitado, no entanto isso fará mais do que o necessário, possivelmente frustrando o usuário (veja o aviso no final do meu post).
Citando man bash
:
If the last character of the alias value is a blank, then the next command word following the alias is also checked for alias expansion.
Portanto, basta alias cd
com um espaço extra (para permitir a expansão de seu próximo argumento) e, em seguida, alias ,,
to ..
. Veja que
alias cd='cd '
alias ,,='..'
dá exatamente o que você precisa.
Observe que isso está correto não apenas para bash
(e sua alias
implementation), mas também para todos os shells de compilações POSIX. Citando um exemplo de man 1p alias
(o manual não descreve esse recurso explicitamente, apenas por meio de um exemplo):
Set up nohup so that it can deal with an argument that is itself an alias name:
alias nohup="nohup "
Aviso:
Como @PeterCordes escreve em seu comentário, ele automaticamente fará com que outros aliases sejam expandidos quando escritos após cd
. Pode ser necessário que você escreva cd \grep
se quiser alterar o diretório para um chamado grep
, mas seu grep
é um alias para grep --color=auto
. Sem a barra invertida, cd
reportará erro "muitos argumentos" (você não pode cd
para dois diretórios de uma só vez)!.