Nombre d'arguments "variable" passés en Shell
Bonjour,
Connaissez-vous le moyen de définir des variables dans un script écrit en Ksh, sachant que le nombre de paramètres que je dois passer est "variable".
Il peut-être de 1, de 2, de 3 ...
En somme je voudrais attribuer à mes paramètres (param1, param2 ...) la valeur que j'ai passé via le shell.
Si l'exécution du shell est :
Code:
./test.ksh 2010 B7809 A450
Je veux alors définir 3 variables qui seront param1=2010 param2=99 et param3=A450 et pas une de plus.
Ces variables vont me servir par la suite à exécuter une requête récupérée dans un fichier tel que :
Code:
select count(*) from TB1 where col1=$param1 and ( col2=$param2 or col3=$param3)
Ai-je été clair ?
Merci pour votre aide.
Commande sed avec variable
En même temps si vous arrivez à me donner la solution de ce problème ci-dessous, ça résoudra certainement mon point.
Pourquoi $nom_parm et $val_parm prennent pas la valeur que je leur ai attribué auparavant, que j'affiche via un echo et qui est bien correcte.
echo $nom_parm => param1
echo $val_parm => 2010
req_valide=`echo $req | sed 's/$nom_parm/$val_parm/g'` ???
Caractère à mettre à la fin de la requête pour execution
D'accord, mais le problème est que mon fichier résultat est vide.
Donc que dois-je mettre derrière ma requête pour l'exectution.
J'ai rajouté un ";" puis "quit" et rien n'y fait :
select count(*) from td_per where id_mois=param1;quit
Avez-vouss une solution ?