ZSH:
Si vous en zsh
alias -g ,,=".."
avez besoin, c’est ce dont vous avez besoin, mais cela entraînera l’extension de ",," partout, pas seulement avec cd
.
De man zshbuiltins
:
Si le -g
drapeau est présent, définissez un alias global; Les alias globaux sont développés même s'ils ne se trouvent pas en position de commandement.
FRAPPER:
Si restreint à bash
(comme la question est marquée avec bash ), lisez ce qui suit:
C'est une solution purement alias, comme demandé, mais cela fera plus que nécessaire, voire frustrer l'utilisateur (voir l'avertissement à la fin de mon message).
Citant man bash
:
Si le dernier caractère de la valeur de l'alias est vide, le mot de commande suivant après l'alias est également vérifié pour le développement de l'alias.
Par conséquent , assez de pour alias cd
avec un espace supplémentaire (pour permettre l' expansion de son argument suivant) puis alias ,,
à ..
. Regarde ça
alias cd='cd '
alias ,,='..'
donne exactement ce dont vous avez besoin.
Notez que ceci est correct non seulement pour bash
(et son alias
implémentation), mais pour tous les shells compilant POSIX. Citant un exemple de man 1p alias
(le manuel ne décrit pas cette fonctionnalité explicitement, mais uniquement à travers un exemple):
Configurez nohup pour qu'il puisse traiter un argument qui est lui-même un nom d'alias:
alias nohup="nohup "
Avertissement:
Comme @PeterCordes écrit dans son commentaire, d' autres alias se développeront automatiquement lorsqu'ils seront écrits après cd
. Il se peut que vous deviez écrire cd \grep
si vous voulez changer de répertoire en un nommé grep
mais que votre nom grep
soit un alias grep --color=auto
. Sans la barre oblique inverse, cd
signalera une erreur "trop d'arguments" (vous ne pouvez pas utiliser cd
deux répertoires à la fois) !.
$ ,,
se plaindre, en tant que tel:bash: ..: Is a directory
. (En d'autres termes, ce n'est pas un exécutable.)