Vous pouvez utiliser un heredoc :
sqlplus -s /nolog <<!EOF
connect SOME_USERNAME/[email protected]:1500/SOMESID
@some.sql
!EOF
Le connect
et @some.sql
sont traités comme un flux d'entrée vers SQL*Plus, comme si vous les aviez saisis dans une session interactive, et ne font pas partie de l'appel initial à l'exécutable - de sorte que les détails de connexion n'apparaissent pas dans ps
sortie.
Vous pouvez également utiliser des variables si vous le souhaitez, d'ailleurs, car l'expansion de la variable se produit dans le shell avant qu'il ne transmette le flux à l'exécutable - donc même si SQL*Plus ne comprendrait pas, dites $PASSWD
, se référant à cela dans l'heredoc fonctionne et la valeur réelle de la variable est transmise.