Probleme de script shell

Fermé
jose1974 - 6 oct. 2008 à 21:09
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 6 oct. 2008 à 22:42
Bonjour,

J'ai un problème avec les fichiers avec des espaces, et desesperement je n'arrive pas a résoudre ce problème. Des que dans un line je recherche un fichier avec un espasce, il le prend comme variables.. Pouvez-vous m'aider svp ?

arborescence :
--------------
# ls -al
total 8
drwxr-xr-x 2 root root 512 oct. 6 20:46 .
drwxr-xr-x 36 root root 1024 oct. 6 20:57 ..
-rw-r--r-- 1 root root 0 oct. 6 20:43 a
-rw-r--r-- 1 root root 0 oct. 6 20:43 b
-rw-r--r-- 1 root root 9 oct. 6 20:44 bob
-rw-r--r-- 1 root root 0 oct. 6 20:43 gg c
-rwxr-xr-x 1 root root 130 oct. 6 20:57 test.sh

fichier bob :
--------------
# more bob
b
gg c


script :
----------
#!/bin/sh
for i in `cat bob`
do
echo $i
if [ -f "$i" ]
then
echo "fichier present"
else
echo "fichier pas present"
fi
done
~

execution script :
--------------------
# sh -x ./test.sh
+ cat bob
+ echo b
b
+ [ -f b ]
+ echo fichier present
fichier present
+ echo gg
gg
+ [ -f gg ]
+ echo fichier pas present
fichier pas present
+ echo c
c
+ [ -f c ]
+ echo fichier pas present
fichier pas present


Merci
José
A voir également:

1 réponse

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 896
6 oct. 2008 à 22:42
-1