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 cdavec 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 aliasimplé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 \grepsi vous voulez changer de répertoire en un nommé grepmais que votre nom grepsoit un alias grep --color=auto. Sans la barre oblique inverse, cdsignalera une erreur "trop d'arguments" (vous ne pouvez pas utiliser cddeux 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.)