Script shell
Butters64
Messages postés
341
Statut
Membre
-
Butters64 Messages postés 341 Statut Membre -
Butters64 Messages postés 341 Statut Membre -
Bonjour,
je débute en en langage de prog et mon programme shell doit tester une variable et ca marche pas.
Voici mon code c'est le plus simple
apres parse en perl d' un fichier xml
state1=$(echo $VAR | cut -d' ' -f1) #récupère le message afficher par le perl
if [ "$state1"="Unit"]; then
echo "ok"
fi
si je fais un echo de $state je vois afficher Unit
merci d'avance
je débute en en langage de prog et mon programme shell doit tester une variable et ca marche pas.
Voici mon code c'est le plus simple
apres parse en perl d' un fichier xml
state1=$(echo $VAR | cut -d' ' -f1) #récupère le message afficher par le perl
if [ "$state1"="Unit"]; then
echo "ok"
fi
si je fais un echo de $state je vois afficher Unit
merci d'avance
A voir également:
- Script shell
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Script cmd - Guide
8 réponses
Salut,
Que contient "$VAR" ?
[ "$state1"="Unit"]
Il faut des espaces autour du signe "égale", ainsi qu'après le crochet ouvrant et avant le crochet fermant :
[ "$state1" = "Unit" ]
Que contient "$VAR" ?
[ "$state1"="Unit"]
Il faut des espaces autour du signe "égale", ainsi qu'après le crochet ouvrant et avant le crochet fermant :
[ "$state1" = "Unit" ]
la j' ai changé
je fais
state1=$(echo $VAR | cut -f2 -d' ') comme ca je récupère On
apres j ai mis les espace et rien ne change on dirait que ca rentre pas
si je fais [ "$state" != "On"]
ca marche
je fais
state1=$(echo $VAR | cut -f2 -d' ') comme ca je récupère On
apres j ai mis les espace et rien ne change on dirait que ca rentre pas
si je fais [ "$state" != "On"]
ca marche
Ben où est le problème alors ???
si je fais un echo de $state je vois afficher Unit
Qu'est-ce qui ne marche pas ?
si je fais un echo de $state je vois afficher Unit
[tmpfs]$ VAR="Unit On 23.8" [tmpfs]$ echo $VAR Unit On 23.8 [tmpfs]$ echo $VAR | cut -d' ' -f1 Unit [tmpfs]$C'est normal non ?
Qu'est-ce qui ne marche pas ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j ai un script perl qui affiche Unit On 23.8
avec le cut je récupère le On pour l etat de la clim et la je compare si l etat est On
le test if marche pas
avec le cut je récupère le On pour l etat de la clim et la je compare si l etat est On
le test if marche pas
[tmpfs]$ cat foo.sh #! /bin/sh #set -xv VAR="Unit On 23.8" state=$(echo $VAR | cut -d' ' -f2) if [ "$state" = "On" ] then echo "OK" fi [tmpfs]$ ./foo.sh OK [tmpfs]$Je ne peux rien te dire de plus ;-\