Použijte skript jako tento:
#!/bin/sh
echo "exit" | sqlplus -L uid/example@unixlinux.online | grep Connected > /dev/null
if [ $? -eq 0 ]
then
echo "OK"
else
echo "NOT OK"
fi
echo "exit" zajišťuje, že se váš program okamžitě ukončí (toto je přesměrováno do sqlplus).-L zajišťuje, že sqlplus nebude žádat o heslo, pokud nejsou přihlašovací údaje v pořádku (což by také uvízlo).
(> /dev/null pouze skryje výstup z grep, který nepotřebujeme, protože výsledky jsou v tomto případě přístupné přes $?)
Výzvám SQL se můžete vyhnout provedením:
sqlplus uid/example@unixlinux.online < /dev/null
SqlPlus se okamžitě ukončí.
Nyní stačí grep výstup výše uvedeného jako:
if sqlplus uid/example@unixlinux.online < /dev/null | grep 'Connected to'; then
# have connectivity to Oracle
else
# No connectivity
fi