script avec nom de répertoire contenant des espaces
2 réponses
pascal
Bonsoir,
Je cherche =C3=A0 faire un script qui descende dans des sous-r=C3=A9pertoir=
es dont les
noms contiennent des espaces.
Mais je n'arrive pas =C3=A0 me positionner dans ces sous-r=C3=A9pertoires.
Mon script ressemble =C3=A0 ceci:
#!/bin/bash
cd ~/.overnet/temp;
for i in [a-zA-Z0-9.?]*; do
j=3D$i;
cd "$j";
ls -la;
done;
$j vaut bien le nom des sous-r=C3=A9pertoires, mais cd $j (ou quoi que ce s=
oit
d'autre) =C3=A9choue.
Merci de votre aide
Pascal
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.
---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.
Sylvain Sauvage
Lundi 27 juin 2005, 22:54:41 CEST, a écrit :
Bonsoir,
'soir,
Je cherche à faire un script qui descende dans des sous-répertoires d ont les noms contiennent des espaces. Mais je n'arrive pas à me positionner dans ces sous-répertoires. Mon script ressemble à ceci:
#!/bin/bash cd ~/.overnet/temp; for i in [a-zA-Z0-9.?]*; do j=$i; cd "$j"; ls -la;
cd ..
done;
$j vaut bien le nom des sous-répertoires, mais cd $j (ou quoi que ce soit d'autre) échoue.
[Au cas où mon édition en ligne ne serait pas claire :] il faut faire un 'cd ..' après le traitement, sinon on reste dans le 1er répertoire (qui a peu de chance de contenir les mêmes répertoires que son papa).
Tu peux aussi éviter les points-virgules si tu vas à la ligne. Tu peux aussi éviter la variable j en utilisant directement "$i".
-- Sylvain Sauvage
Lundi 27 juin 2005, 22:54:41 CEST, pascal@linuxorable.net a écrit :
Bonsoir,
'soir,
Je cherche à faire un script qui descende dans des sous-répertoires d ont
les noms contiennent des espaces.
Mais je n'arrive pas à me positionner dans ces sous-répertoires.
Mon script ressemble à ceci:
#!/bin/bash
cd ~/.overnet/temp;
for i in [a-zA-Z0-9.?]*; do
j=$i;
cd "$j";
ls -la;
cd ..
done;
$j vaut bien le nom des sous-répertoires, mais cd $j (ou quoi que ce
soit d'autre) échoue.
[Au cas où mon édition en ligne ne serait pas claire :] il faut faire un
'cd ..' après le traitement, sinon on reste dans le 1er répertoire (qui a
peu de chance de contenir les mêmes répertoires que son papa).
Tu peux aussi éviter les points-virgules si tu vas à la ligne.
Tu peux aussi éviter la variable j en utilisant directement "$i".
Je cherche à faire un script qui descende dans des sous-répertoires d ont les noms contiennent des espaces. Mais je n'arrive pas à me positionner dans ces sous-répertoires. Mon script ressemble à ceci:
#!/bin/bash cd ~/.overnet/temp; for i in [a-zA-Z0-9.?]*; do j=$i; cd "$j"; ls -la;
cd ..
done;
$j vaut bien le nom des sous-répertoires, mais cd $j (ou quoi que ce soit d'autre) échoue.
[Au cas où mon édition en ligne ne serait pas claire :] il faut faire un 'cd ..' après le traitement, sinon on reste dans le 1er répertoire (qui a peu de chance de contenir les mêmes répertoires que son papa).
Tu peux aussi éviter les points-virgules si tu vas à la ligne. Tu peux aussi éviter la variable j en utilisant directement "$i".