Hello,
je me prend tout le temps la tête sur l’utilisation des quotes / double quote au sein de script bash …
Voici le cas ici.
J’ai une fonction :
function retry {
nTrys=0
maxTrys=3
status=256
until [ $status == 0 ] ; do
$*
status=$?
nTrys=$(($nTrys + 1))
if [ $nTrys -gt $maxTrys ] ; then
echo "Number of re-trys exceeded. Exit code: $status"
exit $status
fi
if [ $status != 0 ] ; then
echo "Failed (exit code $status)... retry $nTrys"
sleep 60
fi
done
}
Mon bout de code :
Le but est donc d’utiliser la fonction retry dans l’utilisation de la commande psql …
Comment feriez-vous ?
[code]PostgresDBpresent=retry psql -t -h $REMOTE_HOST -U $PG_USER -d postgres -c "select datname from pg_database where (datname LIKE 'postgres')" 2>> $SCRIPT_LOG_FILE"
psql: warning: extra command-line argument “datname” ignored
psql: warning: extra command-line argument “from” ignored
psql: warning: extra command-line argument “pg_database” ignored
psql: warning: extra command-line argument “where” ignored
psql: warning: extra command-line argument “(datname” ignored
psql: warning: extra command-line argument “LIKE” ignored
psql: warning: extra command-line argument “‘postgres’)” ignored
ERROR: syntax error at end of input
LINE 1: select
^
^Cpsql: warning: extra command-line argument “datname” ignored
psql: warning: extra command-line argument “from” ignored
psql: warning: extra command-line argument “pg_database” ignored
psql: warning: extra command-line argument “where” ignored
psql: warning: extra command-line argument “(datname” ignored
psql: warning: extra command-line argument “LIKE” ignored
psql: warning: extra command-line argument “‘postgres’)” ignored
ERROR: syntax error at end of input
LINE 1: select
^
^Cpsql: warning: extra command-line argument “datname” ignored
psql: warning: extra command-line argument “from” ignored
psql: warning: extra command-line argument “pg_database” ignored
psql: warning: extra command-line argument “where” ignored
psql: warning: extra command-line argument “(datname” ignored
psql: warning: extra command-line argument “LIKE” ignored
psql: warning: extra command-line argument “‘postgres’)” ignored
ERROR: syntax error at end of input
LINE 1: select
^
^Cpsql: warning: extra command-line argument “datname” ignored
psql: warning: extra command-line argument “from” ignored
psql: warning: extra command-line argument “pg_database” ignored
psql: warning: extra command-line argument “where” ignored
psql: warning: extra command-line argument “(datname” ignored
psql: warning: extra command-line argument “LIKE” ignored
psql: warning: extra command-line argument “‘postgres’)” ignored
ERROR: syntax error at end of input
LINE 1: select
^
[/code]