Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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"

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