Solution 1 :
Au moins deux façons :
-
Utilisez le
--
arguments.cd -- -2
Cela utilise une convention commune aux outils GNU qui est de ne pas traiter tout ce qui apparaît après
--
comme option de ligne de commande.Comme l'a noté un commentateur, cette convention est également définie dans la norme POSIX :
Comportement par défaut : Lorsque cette section est répertoriée comme "Aucune.", cela signifie que l'implémentation n'a besoin de prendre en charge aucune option. Les utilitaires standard qui n'acceptent pas les options, mais qui acceptent les opérandes, doivent reconnaître
"--"
comme premier argument à supprimer.L'exigence de reconnaissance
"--"
est parce que les applications conformes ont besoin d'un moyen de protéger leurs opérandes de toute option arbitraire que l'implémentation peut fournir en tant qu'extension. Par exemple, si l'utilitaire standard foo est répertorié comme ne prenant aucune option et que l'application doit lui donner un nom de chemin avec un trait d'union au début, il peut le faire en toute sécurité comme suit :foo -- -myfile
et éviter tout problème avec -m utilisé comme extension.
ainsi que :
Directive 10 :
L'argument--
doit être accepté comme délimiteur indiquant la fin des options. Tous les arguments suivants doivent être traités comme des opérandes, même s'ils commencent par le'-'
personnage. Le--
l'argument ne doit pas être utilisé comme option ou comme opérande. -
Spécifiez explicitement le chemin :
cd ./-2
Ceci spécifie le chemin nommant explicitement le répertoire courant (
.
) comme point de départ.cd $(pwd)/-2 cd /absolute/path/to/-2
Ce sont des variantes de ce qui précède. N'importe quel nombre de telles variations peut être possible; Je vais laisser le lecteur en exercice pour les découvrir tous.
Solution 2 :
Cela devrait fonctionner :
cd -- -2
-- signifie plus d'option
Solution 3 :
Cela fonctionnera si '-2' est dans le répertoire courant.
cd ./-2
Vous pouvez compléter automatiquement en tapant - et en appuyant sur tab.
Solution 4 :
cd /home/...../-2
fonctionne aussi. Donnez le chemin d'accès complet.
Solution 5 :
Juste pour compléter, si vous souhaitez supprimer/supprimer ce répertoire, vous pouvez utiliser la commande suivante :
rm -r -- -2