#1 Le 09/06/2012, à 19:36
- valoum
[Résolu] Problème utilisation commande cd
Bonjour à tous,
Je suis en train d'écrire un script dans lequel la commande cd me pose problème. Je m'explique :
Dans un fichier nommé fichier_liste_repertoires, j'ai sur chaque ligne l'adresse de répertoires sous la forme ./repertoire (avec comme repertoire parent un repertoire dont l'adresse est stockée dans la variable adresse_initiale).
Dans une boucle, je lis chaque ligne et je me dirige vers chaque repertoire avec la commande cd
voici le code de ma boucle :
while read ligne
do
cd $ligne
# ici autres commandes pour traiter le répertoire
cd $adresse_initiale
done < fichier_liste_repertoires
Et mon problème est le suivant :
quand, sur une ligne, l'adresse du répertoire à traiter est du type ./mes documents,
la commande cd ne marche pas puisque le script execute la commande cd ./mes
En fait, lorsque le nom du répertoire est composé de plusieurs mots séparés par des espaces, le script ne me prend que le premier mot du nom du répertoire.
Existe-t-il une syntaxe de la commande cd pour qu'il me prenne le nom du répertoire en entier?
Je vous remercie
Dernière modification par valoum (Le 09/06/2012, à 22:12)
Hors ligne
#2 Le 09/06/2012, à 19:39
- slasher-fun
Re : [Résolu] Problème utilisation commande cd
Bonjour,
Ajouter un \ avant les espaces
Hors ligne
#3 Le 09/06/2012, à 19:43
- valoum
Re : [Résolu] Problème utilisation commande cd
Bonjour,
Merci pour votre réponse , mais où ois-je mettre des \ avant les espaces?
Dans les noms des repertoires?
Si oui, il faut que je crée une fonction qui traite les noms des répertoires...
Hors ligne
#4 Le 09/06/2012, à 19:46
- slasher-fun
Re : [Résolu] Problème utilisation commande cd
Dans les noms des répertoires oui. Ou les mettre entre guillemets.
Hors ligne
#5 Le 09/06/2012, à 19:52
- valoum
Re : [Résolu] Problème utilisation commande cd
J'ai modifié ma boucle en écrivant
cd "$ligne"
mais il m'affiche toujours le message d'erreur :
cd: ./mes: No such file or directory
A part ça, il traite les autres répertoires correctement.
Hors ligne
#6 Le 09/06/2012, à 21:08
- MisterOccan
Re : [Résolu] Problème utilisation commande cd
Bonsoir.
Comme l'a dit Slasher-fun, pour que la commande cd prenne en compte les noms avec espace, il y a 2 syntaxes possibles:
cd "Mes documents"
Où
cd Mes\ documents
Dernière modification par k-bag (Le 09/06/2012, à 21:10)
Xubuntu 14 (Taste of perfection)
" L'intelligence, c'est pas sorcier, il suffit de penser à une connerie et de dire l'inverse. "
Hors ligne
#7 Le 09/06/2012, à 21:22
- aduxas
Re : [Résolu] Problème utilisation commande cd
Les antislash, c'est dans fichier_liste_repertoires qu'il faudrait les mettre, mais dans ton cas les guillemets sont plus pratiques. Ce n'est pas dans la ligne
cd "$ligne"
que ton script se plante. Aurais-tu des blancs dans $adresse_initiale par hasard?
Hors ligne
#8 Le 09/06/2012, à 22:11
- valoum
Re : [Résolu] Problème utilisation commande cd
Bonsoir,
Merci pour tes réponses.
Après un nouvel essai, j'ai pu constater que la commande cd "$ligne" donne les résultats souhaités.
Merci beaucoup.
Hors ligne