Problème avec un ls dans un for et variable d'environnement
Bonjour à tous,
Je souhaiterai avoir votre point de vue sur un script que je n'arrive pas à faire tourner.
J'ai essayé de le modifier et de le simplifier pour ne faire apparaître que le problème que je rencontre :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| #! /bin/sh
#charge des variables d'environnement dont $TEST_HOME
. /home/conf/var.sh
#test1
ls -l $TEST_HOME/java/tomcat/conf/Catalina/localhost/test.xml
while read line
do
#test2
ls -l $line
done < test.txt |
Contenu de test.txt : $TEST_HOME/java/tomcat/conf/Catalina/localhost/test.xml
Mon problème se situe au niveau des "ls". Je pensais obtenir le même résultat pour le test1 que pour le test2 c'est à dire :
Code:
1 2
| -rw-rw-r-- 1 test test 899 mar 23 2012 /var/test/java/tomcat/conf/Catalina/localhost/test.xml
-rw-rw-r-- 1 test test 899 mar 23 2012 /var/test/java/tomcat/conf/Catalina/localhost/test.xml |
Au lieu de cela j'obtiens ceci :
Code:
1 2
| -rw-rw-r-- 1 test test 899 mar 23 2012 /var/test/java/tomcat/conf/Catalina/localhost/test.xml
ls: $TEST_HOME/java/tomcat/conf/Catalina/localhost/test.xml: Aucun fichier ou repertoire de ce type |
Le résultat de "ls -l $line" n'est pas ce que j'attendais, on dirait qu'il n'arive pas à interpréter $TEST_HOME.
J'espère m'être fait comprendre, et surtout que vous pourrez m'aider à contourner ce problème.
Merci