J'ai un répertoire nommé:
-2
Je veux cd dedans 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: pas de navigateurs de fichiers comme mc, etc. disponibles sur le serveur.
linux
command-line-interface
utilisateur151851
la source
la source
Réponses:
Au moins deux façons:
Utilisez l'
--
argument.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 un commentateur l'a noté, cette convention est également définie dans le standard POSIX :
ainsi que :
Spécifiez le chemin explicitement:
Ceci spécifie le chemin nommant explicitement le répertoire en cours (
.
) comme point de départ.Ce sont des variations sur ce qui précède. Un nombre quelconque de telles variations peut être possible; Je vais laisser au lecteur le soin de tout découvrir.
la source
cd
page "L'cd
utilitaire doit être conforme à ... la section 12.2"."hello world"
un argument maishello world
deux, et"-2"
est le même que-2
.cd -- --
oucd ./--
devrait fonctionner.Cela devrait fonctionner:
- signifie pas plus d'option
la source
Cela fonctionnera si "-2" est dans le répertoire actuel.
Vous pouvez compléter automatiquement en tapant - et en appuyant sur la touche de tabulation.
la source
cd /home/...../-2 fonctionne également. Donnez le chemin complet d'accès.
la source
Pour compléter, si vous souhaitez supprimer / supprimer ce répertoire, vous pouvez utiliser la commande suivante:
la source
Je sais que cette question a déjà été répondu. Si quelqu'un a une situation comme la mienne, c'est pour lui:
J'ai lancé une application java et je cherchais un répertoire commençant par
<path>
, je devais le remplacer par un chemin approprié avant de lancer l'application. Cependant, j'ai oublié de le faire. L'application a créé un répertoire appelé<path>
.J'ai essayé
cd <path>
- m'a donné l'erreur "-bash: erreur de syntaxe près de la nouvelle ligne de jeton inattendue" D'après la suggestion présentée ici (je comprends que c'est pour le répertoire commençant par - et non <) que j'ai essayécd -- <path>
. Cependant, j'ai la même erreur.Quand j'ai essayé
cd \<path>\
- cela a fonctionné!Informations d'arrière-plan:
Les symboles "<" et ">" sont utilisés pour rediriger STDIN et STDOUT, ils doivent donc être échappés pour que le shell ne les interprète pas comme des redirections.
la source