(KSH) Traitement en fct du contenu d'une var
jmpaunix
-
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
Je rencontre un nouveau type de problème, bien que j'ai trouvé une solution un peu lourde palliative.
Je traite toujours des fichiers XML, via un XSLT je met les infos importantes dans un TXT que j'utilise par la suite pour compléter un HTLM.
Maintenant j'ai 4 maquette de mail HTLM. La "structure" du mail envoyé sera en fonction d'un "processing instruction" dans le XML d'entrée.
J'ai isolé cette donnée dans une variable $TYPE
Cependant, en fonction d'elle je dois envoyer le mail 1 2 3 ou 4, ce qui n'est pas si facile car cette fameuse variable TYPE est comme suit :
1/ Type=x A ( alors on envoie le mail 1)
2/ Type=x B (alors on envoie le mail 2 )
3/ Type=x C (alors on envoie le mail 3)
4/ Type=x (alors on envoie le mail 4)
5/ Type=x A B ( on envoie le mail 1 uniquement, a vrai dire on prend la première occurrence)
J'ai procédé par un :
Code :
if [ "$TYPE" == "x A" ]
then --traitement mail 1--
Cependant je devrais faire 4 if, et je ne peux pas traiter mon cas spécial 5/
Je ne sais pas quelle type de boucle je dois utiliser.
On m'a dit que partir sur un case pourrait m'aider ?
Merci à tous,
Je rencontre un nouveau type de problème, bien que j'ai trouvé une solution un peu lourde palliative.
Je traite toujours des fichiers XML, via un XSLT je met les infos importantes dans un TXT que j'utilise par la suite pour compléter un HTLM.
Maintenant j'ai 4 maquette de mail HTLM. La "structure" du mail envoyé sera en fonction d'un "processing instruction" dans le XML d'entrée.
J'ai isolé cette donnée dans une variable $TYPE
Cependant, en fonction d'elle je dois envoyer le mail 1 2 3 ou 4, ce qui n'est pas si facile car cette fameuse variable TYPE est comme suit :
1/ Type=x A ( alors on envoie le mail 1)
2/ Type=x B (alors on envoie le mail 2 )
3/ Type=x C (alors on envoie le mail 3)
4/ Type=x (alors on envoie le mail 4)
5/ Type=x A B ( on envoie le mail 1 uniquement, a vrai dire on prend la première occurrence)
J'ai procédé par un :
Code :
if [ "$TYPE" == "x A" ]
then --traitement mail 1--
Cependant je devrais faire 4 if, et je ne peux pas traiter mon cas spécial 5/
Je ne sais pas quelle type de boucle je dois utiliser.
On m'a dit que partir sur un case pourrait m'aider ?
Merci à tous,
A voir également:
- (KSH) Traitement en fct du contenu d'une var
- Word a trouvé du contenu illisible - Guide
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Traitement de texte gratuit - Guide
- Fusionner deux cellules excel en gardant le contenu - Guide
- Ce traitement de texte gratuit et léger est parfait pour remplacer Word, même sur un vieux PC - Guide
3 réponses
Salut,
Un petit exemple devrait t'aider à finaliser ton script...
;-))
Un petit exemple devrait t'aider à finaliser ton script...
$ cat foo.sh #! /bin/bash read -p "Entrez A, B, C, A B ou rien : " NAME case "x ${NAME}" in "x A"|"x A B") echo "Vous avez tapé : $NAME" ;; "x B") echo "Vous avez tapé : $NAME" ;; "x C") echo "Vous avez tapé : $NAME" ;; "x ") echo "Vous n'avez rien tapé." ;; *) echo "Erreur" ;; esac $ ./foo.sh Entrez A, B, C, A B ou rien : B C Erreur $ ./foo.sh Entrez A, B, C, A B ou rien : A B Vous avez tapé : A B $ ./foo.sh Entrez A, B, C, A B ou rien : A Vous avez tapé : A $ ./foo.sh Entrez A, B, C, A B ou rien : Vous n'avez rien tapé. $
;-))