Wenn es auf Debian basiert.
aptitude show postgresql | grep State
Aber ich denke, Sie können einfach versuchen, es mit einem Flag wie --version
zu starten , das einfach einige Informationen ausgibt und beendet wird.
Aktualisiert Verwenden Sie "Service Postgres Status". Versuchen Sie:
service postgres status
if [ "$?" -gt "0" ]; then
echo "Not installed".
else
echo "Intalled"
fi
Wir können einfach schreiben:
psql --version
Ausgabe zeigen wie:
psql (PostgreSQL) 11.5 (Ubuntu 11.5-1.pgdg18.04+1)
Es gibt keinen einfachen Weg, dies zu tun. Alles, was Sie tun können, ist, mit dem Paketmanager (rpm, dpkg) nachzusehen oder einige wahrscheinliche Speicherorte für die gewünschten Dateien zu untersuchen. Oder Sie könnten versuchen, sich mit einem wahrscheinlichen Port (5432) zu verbinden und sehen, ob Sie eine PostgreSQL-Protokollantwort erhalten. Aber nichts davon wird sehr robust sein. Vielleicht möchten Sie Ihre Anforderungen überprüfen.
Wie wäre es mit which
Befehl?
Wenn Sie which psql
ausführen würden und Postgres nicht installiert ist, scheint es keine Ausgabe zu geben. Sie bereiten einfach den Terminal-Prompt vor, um einen weiteren Befehl zu akzeptieren:
> which psql
>
Aber wenn Postgres installiert ist, erhalten Sie eine Antwort mit dem Pfad zum Speicherort der Postgres-Installation:
> which psql
/opt/boxen/homebrew/bin/psql
Betrachten wir man which
Es scheint auch eine Option zu geben, die Ihnen helfen könnte:
-s No output, just return 0 if any of the executables are found, or
1 if none are found.
Es scheint also so, als ob die von Ihnen verwendete Skriptsprache einen Terminalbefehl ausführen kann, den Sie which -s psql
senden könnten und verwenden Sie den Rückgabewert, um festzustellen, ob Postgres installiert ist. Von dort aus können Sie das Ergebnis nach Belieben ausdrucken.
Ich habe Postgres auf meinem Computer installiert, also führe ich Folgendes aus
> which -s psql
> echo $?
0
was mir sagt, dass der Befehl 0 zurückgegeben hat, was darauf hinweist, dass die ausführbare Postgres-Datei auf meinem Computer gefunden wurde.
Hier sind die Informationen zur Verwendung von echo $?