52 votes

Comment accéder à un répertoire dont le nom contient un espace ?

J'ai un répertoire appelé "Reader 0.5" dans mon bureau sur Mac Os X. Lorsque j'accède au répertoire dans le terminal, j'utilise le code ci-dessous :

cd /Users/niho/Desktop/Reader 0.5

mais il lance :

Aucun fichier ou répertoire de ce type

erreur.

Comment puis-je accéder à ce répertoire ?

Merci.

72voto

Robert Christie Points 7323

Soit vous mettez des guillemets autour du nom du répertoire ( cd "/Users/niho/Desktop/Reader 0.5" ) ou vous échappez le nom du répertoire ( /Users/niho/Desktop/Reader\ 0.5 ).

8voto

FadedToObscurity Points 103

Vous pouvez vous échapper de l'espace :

cd /Users/niho/Desktop/Reader\ 0.5

7voto

Pour information, l'utilisation du raccourci Tab dans bash se briserait au premier espace qu'il rencontre si plusieurs répertoires ont des prénoms identiques. Dans ce cas, l'utilisateur doit utiliser :

cd Adobe\ Creative\ Cloud/

ou ce que je préfère,

cd 'Adobe Creative Cloud'

5voto

LicenseQ Points 621

Comme d'autres l'ont mentionné, la citation du chemin d'accès ou l'élimination des espaces par le biais d'un backslash fonctionneront.

En outre, bash, le Shell par défaut sur Mac OS X, prend en charge la complétion de la ligne de commande à l'aide de la touche Tab. Ainsi, par exemple, si vous tapez :

cd /Users/niho/Desktop/Re

puis appuyez sur la touche Tab, le Shell remplira le reste du nom du dossier (à condition qu'il n'y ait pas d'autres dossiers sur votre Bureau commençant par "Re"), et se chargera de citer les arguments de cd s'il y a des espaces dans le nom du répertoire qu'il remplit.

-1voto

Agile Bean Points 179

Voici une méthode plus confortable si vous souhaitez utiliser plus souvent les commandes cd pour accéder à certains répertoires. Elle évite d'écrire le nom du répertoire à chaque fois.

Dans votre .bashrc ou .profile, insérez :

# activate cdable_vars
shopt -s cdable_vars

# define shortcut for your directory, here DIR
export DIR="/Users/<username>/path/to/your/dir"

Exécutez votre script une fois : . .bashrc

Vous pouvez ensuite accéder à votre répertoire comme suit :

cd DIR

Cela devrait fonctionner même si le chemin d'accès contient des espaces.

Dans les scripts Shell, cependant, vous devez citer la variable comme suit :

cd "$DIR"

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X