A voir également:
- Shell script: lire une chaine de caractere da
- Script vidéo youtube - Guide
- Classic shell windows 11 - Télécharger - Personnalisation
- Ghost script - Télécharger - Polices de caractères
- Script bat - Guide
- Microsoft activation script - Accueil - Windows
5 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
30 avril 2007 à 14:34
30 avril 2007 à 14:34
grep "toto" /app/shell/test >/dev/null ; if [ "$?" = 0 ]; then ls ; fi ; donePS. Dans mon message précédent, j'avais oublié de mettre le fichier "test" dans 'grep "toto" /app/shell/test'
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
30 avril 2007 à 14:46
30 avril 2007 à 14:46
Ça redirige ce qui est sensé être envoyé sur la sortie standard (dans notre cas stdout=l'écran), vers une sorte de poubelle virtuelle sans fond. En gros tout ce que tu ne veux pas voir apparaître sur ton écran (ou dans un fichier le cas échéant, tout dépend de la redirection), tu l'envoies vers "/dev/null".
Sans cette directive, en sus du listage de ton répertoire, tu aurais auparavant l'affichage de la ligne contenant "toto".
Sans cette directive, en sus du listage de ton répertoire, tu aurais auparavant l'affichage de la ligne contenant "toto".
j ai l'erreur suivante qui apparaît qd j execute mon script
"syntax error at line 59 : `done' unexpected"
Voila ce que je fais:
grep "Server started in RUNNING mode" /app/bea/wlsa >/dev/null
if [ "$?" = 0 ]
then
trace "Demarrage du serveur"
executer_remote_script $APPLI_SRV $EXPLOIT sys_managesrv.ksh start
retour=$?
if [ $retour -eq 3 ]
then
exit 3;
fi
trace "Fin de Lancement de l'application "
fi
done
En fair, je veux que mon script consulte le fichier wlsa, et qu'il n'execute ce qui vient après le then qu'une fois il y aura la chaine "Server started in RUNNING mode" écrite ds le fichier wlsa.
Help!
"syntax error at line 59 : `done' unexpected"
Voila ce que je fais:
grep "Server started in RUNNING mode" /app/bea/wlsa >/dev/null
if [ "$?" = 0 ]
then
trace "Demarrage du serveur"
executer_remote_script $APPLI_SRV $EXPLOIT sys_managesrv.ksh start
retour=$?
if [ $retour -eq 3 ]
then
exit 3;
fi
trace "Fin de Lancement de l'application "
fi
done
En fair, je veux que mon script consulte le fichier wlsa, et qu'il n'execute ce qui vient après le then qu'une fois il y aura la chaine "Server started in RUNNING mode" écrite ds le fichier wlsa.
Help!
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
30 avril 2007 à 17:25
30 avril 2007 à 17:25
Affiche ton script en entier, sinon on patauge...
Est-ce qu'il existe un "do" en amont de ton script ? (du fait de : "syntax error at line 59 : `done' unexpected" )
Est-ce qu'il existe un "do" en amont de ton script ? (du fait de : "syntax error at line 59 : `done' unexpected" )
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
30 avril 2007 à 17:38
30 avril 2007 à 17:38
Supprime le "done" alors ;-))
kloorane
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
30 avril 2007 à 17:55
30 avril 2007 à 17:55
ça a l'air de marcher
thanks a lot
thanks a lot
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
30 avril 2007 à 18:00
30 avril 2007 à 18:00
De rien ;-))
kloorane
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
30 avril 2007 à 20:49
30 avril 2007 à 20:49
Slt,
je sollicite encore ton savoir :)
Cette fois je faire une boucle qui permet de chercher une chaine:
grep "Server started in RUNNING mode" /app/wlsa.log >/dev/null
while [ $? != 0 ]
do
grep "Server started in RUNNING mode" /app/wlsa.log >/dev/null
sleep 10
trace "toujours dans la boucle"
done
Normalement ça doit boucler tant que je n'ai pas ma chaine de caractère ds le fichier.
Ce qui n'est pa le cas.
Est ce que j'ai un prob de syntaxe?
je sollicite encore ton savoir :)
Cette fois je faire une boucle qui permet de chercher une chaine:
grep "Server started in RUNNING mode" /app/wlsa.log >/dev/null
while [ $? != 0 ]
do
grep "Server started in RUNNING mode" /app/wlsa.log >/dev/null
sleep 10
trace "toujours dans la boucle"
done
Normalement ça doit boucler tant que je n'ai pas ma chaine de caractère ds le fichier.
Ce qui n'est pa le cas.
Est ce que j'ai un prob de syntaxe?
bonjour,
j'ai la ligne suivante :
export HORCMINST="29"
SVP, comment puis-je afficher le chiffre 29 seul.?
awk ??
Merci
j'ai la ligne suivante :
export HORCMINST="29"
SVP, comment puis-je afficher le chiffre 29 seul.?
awk ??
Merci
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
21 mai 2008 à 13:59
21 mai 2008 à 13:59
Salut,
echo 'export HORCMINST="29"' | grep -o '[0-9]\+';-))
sambooor
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
22 mai 2008 à 19:56
22 mai 2008 à 19:56
salut
merci pour ta reponse, ce ke tu ma di ca marche bien. mais jai deja trouver une autre solution, en fait, le chiffre entre guillemet change, ex export HORCMINST="1033". demain je tenvoi la solution paseke mnt chui chez moi (pas a mon bureau)
salutation
merci pour ta reponse, ce ke tu ma di ca marche bien. mais jai deja trouver une autre solution, en fait, le chiffre entre guillemet change, ex export HORCMINST="1033". demain je tenvoi la solution paseke mnt chui chez moi (pas a mon bureau)
salutation
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
30 avril 2007 à 13:33
30 avril 2007 à 13:33
Salut,
Normalement avec "grep" (man grep) ça doit le faire, mais il faut être plus précis sur ce que tu veux vraiment faire (donnes-nous un exemple concret).
;-))
Normalement avec "grep" (man grep) ça doit le faire, mais il faut être plus précis sur ce que tu veux vraiment faire (donnes-nous un exemple concret).
;-))
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
30 avril 2007 à 14:01
30 avril 2007 à 14:01
Re-
Ce que tu veux faire n'est pas très orthodoxe dans le sens où il vaudrait mieux programmer un truc dans le genre :
Tant que "je trouve la chaîne "toto" dans "/app/shell"; faire bla bla bla...
ou alors :
Tant que "je ne trouve pas la chaîne "toto" dans "/app/shell"; faire bla bla bla...
Mais bon voici quand même ce que tu veux (enfin presque) :
Ce que tu veux faire n'est pas très orthodoxe dans le sens où il vaudrait mieux programmer un truc dans le genre :
Tant que "je trouve la chaîne "toto" dans "/app/shell"; faire bla bla bla...
ou alors :
Tant que "je ne trouve pas la chaîne "toto" dans "/app/shell"; faire bla bla bla...
Mais bon voici quand même ce que tu veux (enfin presque) :
grep "toto" /app/shell ; while [ "$?" != 0 ]; do echo "Je ne fais rien"; done;-))
kloorane
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
30 avril 2007 à 14:24
30 avril 2007 à 14:24
merci pour ta réponse.
En fait ce que je veux faire c'est:
exécuter une commande (par ex ls) qu'une fois j'aurai trouvé la chaine de caractère "toto" ds /app...
a ton avis...
En fait ce que je veux faire c'est:
exécuter une commande (par ex ls) qu'une fois j'aurai trouvé la chaine de caractère "toto" ds /app...
a ton avis...
30 avril 2007 à 14:41
Merci pour ton aide