Prob boucle et variable en shell

Fermé
herve70 - 16 oct. 2006 à 13:55
mamiemando Messages postés 33654 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2025 - 18 oct. 2006 à 13:32
bonjour a tous

cela fait plusieur heurs que j essai de résoudre ce prob et je n arrive vraiment pas a voir ce qui cloche et pourtant ca veux absolument pas fonctionner.

je pars d une page web dans laquelle je saisie une donnée, et suivant la donnée je lance un test qui devra effectuer differentes taches.

if [ "$#" -lt 1 ] ;
then
echo 'Il manque des parametres: ACTION=VALUE '
exit 2
fi

//ici recupération de la variable saisie
ACTION=`echo ACTION $* | awk -f /root/apply/shells/get_param.awk `
echo "ACTION vaut $ACTION"

//test si $ACTION est chaine vide ou pas // si non vide je récupere bien $ACTION dans la variable $var
if ["$ACTION" = ""];
then
cd /root/apply/shells
echo $@ > tata
echo "star" >> tata
else
var=$ACTION
cd /root/apply/shells
echo $@ > kiki
echo "la variable est la suivante : $var" >> kiki
fi


jusqu ici tout va bien mais si je test la valeur saisie dans le formulaire qui est soit égale a start ou alors stop de cette facon :

if ["$ACTION" = "start"];
then
cd /root/apply/shells
echo $@ > tata
echo "demarrage effectué" >> tata
fi

et la ben rien, je n 'ai pas de création du fichier tata alors qu avec le pgm précédent j ai vérifier ci récuperais bien la valeur de $ACTION dans la variable var et c le cas

je vois pas du tout ce qui cloche, je compare bien 2 chaine de caract

je suis dans brouillard

un peu d aide sera la bien venue Merci D avance

3 réponses

mamiemando Messages postés 33654 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2025 7 847
17 oct. 2006 à 09:08
Pour moi :
if ["$ACTION" = "start"]; 

devrait plutôt s'écrire :
if [${ACTION} = "start"]; 

Par ailleurs vérifie le contenu de la variable ACTION en mettant juste avant le test :
echo ${ACTION}

Bonne chance
0
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
17 oct. 2006 à 10:27
Salut,

Moi ce qui me gène c'est plutôt l'absence d'espace de part et d'autre à l'intérieur des crochets (génère une erreur chez moi en shell bash) :
if [ "$ACTION" = "start" ]
Par contre l'une ou l'autre des syntaxes ("$ACTION" ou ${ACTION}) ne change rien, les deux sont bonnes (même si celle de mamiemando est préférable).

Petit détail qui aura peut être son importance : quel shell utilises-tu ?

;-)
0
en fait oui c'est vrai, ce matin je me suis apercu que c'est a cause de l absence d'espace que le programme ne fonctionnait pas du tout. Je suis vert d avoir perdu autant de temps dessus, alors que ce n 'était rien du tout "ca fait longtemps que je n ai pratiquer le shells, et ca ce vois j ai honte de quoi m arracher les cheveux"

Merci pour votre aide a tout les deux

Vous avec un lien que je peut visiter qui m expose le shell avec bcp d exemple et peu de blabla mais toujours avec un minimun?
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
17 oct. 2006 à 13:00
Hello Jipicy,

même si celle de mamiemando est préférable

Il me semble que tu as compris le sens du mot Miss :-))

C'est bien continue comme ça ;)

lami20j
0
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 > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
17 oct. 2006 à 13:41
Salut lami20J,

Yes, yes, c'est "mamissmando" maintenant ;-DDD

PS. Je sais pas pourquoi mais je sens que je vais me faire taper sur les doigts môa ;-))
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020
17 oct. 2006 à 15:51
Re,

Oui, Oui, attention à tes doigts quand tu parles de Miss :-))

lami20j
0
mamiemando Messages postés 33654 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2025 7 847
18 oct. 2006 à 13:32
Hum hum :-)
0