J'ai un répertoire nommé:
-2
Je veux y entrer mais le cd se plaint:
bash: cd: -2: invalid option
Sans succès, j'ai essayé:
cd "-2"
cd '-2'
cd \-2
Toute solution?
Edit: aucun navigateur de fichiers comme mc, etc. n'est disponible sur le serveur.
Au moins deux façons:
Utilisez l'argument --
.
cd -- -2
Ceci utilise une convention commune aux outils GNU qui consiste à ne pas traiter tout ce qui apparaît après --
Comme une option de ligne de commande.
Comme l'a noté 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 à ignorer.La nécessité de reconnaître
"--"
Est due au fait que les applications conformes ont besoin d'un moyen de protéger leurs opérandes de toutes les options arbitraires 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 devait lui donner un chemin d'accès avec un trait d'union, il pourrait le faire en toute sécurité comme suit:foo -- -myfile
et éviter tout problème avec - m utilisé comme extension.
Ligne directrice 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 caractère'-'
. L'argument--
Ne doit pas être utilisé comme option ou comme opérande.
Spécifiez le chemin explicitement:
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 variations de ce qui précède. Un certain nombre de ces variations peuvent être possibles; Je laisse au lecteur le soin de les découvrir tous.
Cela devrait fonctionner:
cd -- -2
- signifie plus d'option
Cela fonctionnera si "-2" est dans le répertoire courant.
cd ./-2
Vous pouvez compléter la saisie semi-automatique en tapant - et en appuyant sur tab.
cd /home/...../-2 fonctionne également. Donnez le chemin d'accès complet.
Juste pour compléter, si vous souhaitez supprimer/supprimer ce répertoire, vous pouvez utiliser la commande suivante:
rm -r -- -2