Question script Unix KSH

Le
scratt
Bonjour,
voici un script s.sh tout simple :

<test> /home/oracle9i#cat s.sh

sqlplus -s "/ as sysdba" << Fin
select count(*) from dba_objects where owner='TRAINING';
Fin

ce scrip fonctionne.
par contre il ne marche pas quand je le place dans une boucle while
comme ce-ci :
<test> /home/oracle9i#cat t

function mysql
{
sqlplus -s "/ as sysdba" << Fin
select count(*) from dba_objects where owner='TRAINING';
Fin
}

while true
do
echo toto
mysql
done

<test> /home/oracle9i#t
t[2]: 0403-057 Erreur de syntaxe à la ligne 4 : `<' sans
correspondance.
<test> /home/oracle9i#


Quelqu'un a t il une idee ?

merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Stephane CHAZELAS
Le #16456911
2008-08-1, 06:33(-07), scratt:
[..]
function mysql



Ca, c'est la syntaxe ksh, pas sh.

{
sqlplus -s "/ as sysdba" << Fin
select count(*) from dba_objects where owner='TRAINING';
Fin
}



mysql() {
sqlplus -s "/ as sysdba" << Fin
select count(*) from dba_objects where owner='TRAINING';
Fin
}


Le "Fin" doit etre en debut de ligne. Ou sinon, tu peux utiliser
<<-Fin, auquel cas, tu peux faire preceder les lignes d'une
tabulation.

--
Stéphane
scratt
Le #16457301
On 1 août, 15:39, Stephane CHAZELAS wrote:
2008-08-1, 06:33(-07), scratt:
[..]

> function mysql

Ca, c'est la syntaxe ksh, pas sh.

> {
> sqlplus -s "/ as sysdba" << Fin
> select count(*) from dba_objects where owner='TRAINING';
> Fin
> }

mysql() {
sqlplus -s "/ as sysdba" << Fin
select count(*) from dba_objects where owner='TRAINING';
Fin

}

Le "Fin" doit etre en debut de ligne. Ou sinon, tu peux utiliser
<<-Fin, auquel cas, tu peux faire preceder les lignes d'une
tabulation.

--
Stéphane



Effectivement ca merche,
merci.
Olivier Miakinen
Le #16457291
Le 01/08/2008 16:20, scratt a écrit :
[citation intégrale]




Effectivement ca merche,



Quand ça ne merche plus, c'est que ça marde.
Publicité
Poster une réponse
Anonyme