GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ich per Linux-Skript prüfen, ob PostgreSQL installiert ist oder nicht?

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 $?


Linux
  1. So überprüfen Sie, welche Version von Postgres ausgeführt/installiert wird

  2. So überprüfen Sie den Anbieter installierter RPM-Pakete in Linux

  3. Linux-Befehl, um zu prüfen, ob ein Shell-Skript ausgeführt wird oder nicht

  4. Wie überprüfe ich den Internetzugang mit Bash-Skript in Linux?

  5. Wie kann ich automatisch auf Eingabeaufforderungen in einem Linux-Bash-Skript reagieren?

So überprüfen Sie die unter Linux installierte Java-Version

So überprüfen Sie, ob Sie sich in einer Bildschirmsitzung befinden oder nicht in Linux

So finden Sie heraus, ob ein Paket unter Linux und Unix installiert ist oder nicht

So überprüfen Sie, ob die GUI in Linux über die Befehlszeile installiert ist

Wie überprüfe ich die Zeitzone in Linux?

Wie kann ich überprüfen, welche Ports belegt und welche Ports auf meinem Linux-Rechner frei sind?