|
|
|
|
Bonjour
j'ai un fichier . KSH qui admait jusqu'à 4 paramètres.
Mais j'ai 4 case absolument identique ce qui me donne un code très lourd
Ne pourrais je pas raccourcir mon code avec une boucle for?
Merci d'avance a tous ceux qui me répondront
Voici le code initial sur lequel je travail.
param1=$1
param2=$2
param3=$3
param4=$4
p1=$(echo $param1 | cut -f1 -d"=")
p2=$(echo $param2 | cut -f1 -d"=")
p3=$(echo $param3 | cut -f1 -d"=")
p4=$(echo $param4 | cut -f1 -d"=")
case $p1 in
CB) basicat=$(echo $param1 | cut -f2 -d"=");;
CodeBasicat) basicat=$(echo $param1 | cut -f2 -d"=");;
code) basicat=$(echo $param1 | cut -f2 -d"=");;
code_appli) basicat=$(echo $param1 | cut -f2 -d"=");;
email) mail=$(echo $param1 | cut -f2 -d"=");;
e-mail) mail=$(echo $param1 | cut -f2 -d"=");;
mail) mail=$(echo $param1 | cut -f2 -d"=");;
em) mail=$(echo $param1 | cut -f2 -d"=");;
TypServ) serv=$(echo $param1 | cut -f2 -d"=");;
TypeServeur) serv=$(echo $param1 | cut -f2 -d"=");;
Type_de_Serveur) serv=$(echo $param1 | cut -f2 -d"=");;
TypedeServeur) serv=$(echo $param1 | cut -f2 -d"=");;
TS) serv=$(echo $param1 | cut -f2 -d"=");;
typeserveur) serv=$(echo $param1 | cut -f2 -d"=");;
typserv) serv=$(echo $param1 | cut -f2 -d"=");;
type_de_serveur) serv=$(echo $param1 | cut -f2 -d"=");;
typedeserveur) serv=$(echo $param1 | cut -f2 -d"=");;
ts) serv=$(echo $param1 | cut -f2 -d"=");;
TypTach) tach=$(echo $param1 | cut -f2 -d"=");;
TypeTache) tach=$(echo $param1 | cut -f2 -d"=");;
Type_de_Tache) tach=$(echo $param1 | cut -f2 -d"=");;
TypedeTache) tach=$(echo $param1 | cut -f2 -d"=");;
TT) tach=$(echo $param1 | cut -f2 -d"=");;
typtach) tach=$(echo $param1 | cut -f2 -d"=");;
typetache) tach=$(echo $param1 | cut -f2 -d"=");;
type_de_tache) tach=$(echo $param1 | cut -f2 -d"=");;
typedetache) tach=$(echo $param1 | cut -f2 -d"=");;
tt) tach=$(echo $param1 | cut -f2 -d"=")
esac
case $p2 in
CB) basicat=$(echo $param2 | cut -f2 -d"=");;
CodeBasicat) basicat=$(echo $param2 | cut -f2 -d"=");;
code) basicat=$(echo $param2 | cut -f2 -d"=");;
code_appli) basicat=$(echo $param2 | cut -f2 -d"=");;
email) mail=$(echo $param2 | cut -f2 -d"=");;
e-mail) mail=$(echo $param2 | cut -f2 -d"=");;
mail) mail=$(echo $param2 | cut -f2 -d"=");;
em) mail=$(echo $param2 | cut -f2 -d"=");;
TypServ) serv=$(echo $param2 | cut -f2 -d"=");;
TypeServeur) serv=$(echo $param2 | cut -f2 -d"=");;
Type_de_Serveur) serv=$(echo $param2 | cut -f2 -d"=");;
TypedeServeur) serv=$(echo $param2 | cut -f2 -d"=");;
TS) serv=$(echo $param2 | cut -f2 -d"=");;
typeserveur) serv=$(echo $param2 | cut -f2 -d"=");;
typserv) serv=$(echo $param2 | cut -f2 -d"=");;
type_de_serveur) serv=$(echo $param2 | cut -f2 -d"=");;
typedeserveur) serv=$(echo $param2 | cut -f2 -d"=");;
ts) serv=$(echo $param2 | cut -f2 -d"=");;
TypTach) tach=$(echo $param2 | cut -f2 -d"=");;
TypeTache) tach=$(echo $param2 | cut -f2 -d"=");;
Type_de_Tache) tach=$(echo $param2 | cut -f2 -d"=");;
TypedeTache) tach=$(echo $param2 | cut -f2 -d"=");;
TT) tach=$(echo $param2 | cut -f2 -d"=");;
typtach) tach=$(echo $param2 | cut -f2 -d"=");;
typetache) tach=$(echo $param2 | cut -f2 -d"=");;
type_de_tache) tach=$(echo $param2 | cut -f2 -d"=");;
typedetache) tach=$(echo $param2 | cut -f2 -d"=");;
tt) tach=$(echo $param2 | cut -f2 -d"=")
esac
case $p3 in
CB) basicat=$(echo $param3 | cut -f2 -d"=");;
CodeBasicat) basicat=$(echo $param3 | cut -f2 -d"=");;
code) basicat=$(echo $param3 | cut -f2 -d"=");;
code_appli) basicat=$(echo $param3 | cut -f2 -d"=");;
email) mail=$(echo $param3 | cut -f2 -d"=");;
e-mail) mail=$(echo $param3 | cut -f2 -d"=");;
mail) mail=$(echo $param3 | cut -f2 -d"=");;
em) mail=$(echo $param3 | cut -f2 -d"=");;
TypServ) serv=$(echo $param3 | cut -f2 -d"=");;
TypeServeur) serv=$(echo $param3 | cut -f2 -d"=");;
Type_de_Serveur) serv=$(echo $param3 | cut -f2 -d"=");;
TypedeServeur) serv=$(echo $param3 | cut -f2 -d"=");;
TS) serv=$(echo $param3 | cut -f2 -d"=");;
typeserveur) serv=$(echo $param3 | cut -f2 -d"=");;
typserv) serv=$(echo $param3 | cut -f2 -d"=");;
type_de_serveur) serv=$(echo $param3 | cut -f2 -d"=");;
typedeserveur) serv=$(echo $param3 | cut -f2 -d"=");;
ts) serv=$(echo $param3 | cut -f2 -d"=");;
TypTach) tach=$(echo $param3 | cut -f2 -d"=");;
TypeTache) tach=$(echo $param3 | cut -f2 -d"=");;
Type_de_Tache) tach=$(echo $param3 | cut -f2 -d"=");;
TypedeTache) tach=$(echo $param3 | cut -f2 -d"=");;
TT) tach=$(echo $param3 | cut -f2 -d"=");;
typtach) tach=$(echo $param3 | cut -f2 -d"=");;
typetache) tach=$(echo $param3 | cut -f2 -d"=");;
type_de_tache) tach=$(echo $param3 | cut -f2 -d"=");;
typedetache) tach=$(echo $param3 | cut -f2 -d"=");;
tt) tach=$(echo $param3 | cut -f2 -d"=")
esac
case $p4 in
CB) basicat=$(echo $param4 | cut -f2 -d"=");;
CodeBasicat) basicat=$(echo $param4 | cut -f2 -d"=");;
code) basicat=$(echo $param4 | cut -f2 -d"=");;
code_appli) basicat=$(echo $param4 | cut -f2 -d"=");;
email) mail=$(echo $param4 | cut -f2 -d"=");;
e-mail) mail=$(echo $param4 | cut -f2 -d"=");;
mail) mail=$(echo $param4 | cut -f2 -d"=");;
em) mail=$(echo $param4 | cut -f2 -d"=");;
TypServ) serv=$(echo $param4 | cut -f2 -d"=");;
TypeServeur) serv=$(echo $param4 | cut -f2 -d"=");;
Type_de_Serveur) serv=$(echo $param4 | cut -f2 -d"=");;
TypedeServeur) serv=$(echo $param4 | cut -f2 -d"=");;
TS) serv=$(echo $param4 | cut -f2 -d"=");;
typeserveur) serv=$(echo $param4 | cut -f2 -d"=");;
typserv) serv=$(echo $param4 | cut -f2 -d"=");;
type_de_serveur) serv=$(echo $param4 | cut -f2 -d"=");;
typedeserveur) serv=$(echo $param4 | cut -f2 -d"=");;
ts) serv=$(echo $param4 | cut -f2 -d"=");;
TypTach) tach=$(echo $param4 | cut -f2 -d"=");;
TypeTache) tach=$(echo $param4 | cut -f2 -d"=");;
Type_de_Tache) tach=$(echo $param4 | cut -f2 -d"=");;
TypedeTache) tach=$(echo $param4 | cut -f2 -d"=");;
TT) tach=$(echo $param4 | cut -f2 -d"=");;
typtach) tach=$(echo $param4 | cut -f2 -d"=");;
typetache) tach=$(echo $param4 | cut -f2 -d"=");;
type_de_tache) tach=$(echo $param4 | cut -f2 -d"=");;
typedetache) tach=$(echo $param4 | cut -f2 -d"=");;
tt) tach=$(echo $param4 | cut -f2 -d"=")
esac
Configuration: Windows XP Internet Explorer 6.0
Salut,
$ cat foo.ksh
#! /bin/ksh
for param in "$@"
do
case $param in
1) echo "Le paramètre $param contient le chiffre 1"
;;
2) echo "Le paramètre $param contient le chiffre 2"
;;
5) echo "Le paramètre $param contient le chiffre 5"
;;
*) echo "Le paramètre $param ne fait pas parti de la liste..."
;;
esac
done
$ ./foo.ksh 3 5 2 7 1 0
Le paramètre 3 ne fait pas parti de la liste...
Le paramètre 5 contient le chiffre 5
Le paramètre 2 contient le chiffre 2
Le paramètre 7 ne fait pas parti de la liste...
Le paramètre 1 contient le chiffre 1
Le paramètre 0 ne fait pas parti de la liste...
$ ;-))
Z'@+...che.JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé. |