BASH-Programmierung

Bash if -e und -s und andere Dateitestoperatoren

Bash if -e und -s und andere Dateitestoperatoren

Bei der Arbeit mit Dateien in jedem Betriebssystem ist es für den Benutzer obligatorisch, diese Dateien auf bestimmte Aspekte wie Eigentum, Zugriffsrechte, Inhalt, Existenz usw. zu testen. Diese Aspekte können durch die Kopplung der „if“-Anweisung mit verschiedenen Dateitestoperatoren in Bash . herausgefunden werden. "if -e" und "if -s" sind solche Operatoren in Bash, die zum Testen der Existenz einer Datei verwendet werden. Der Unterschied zwischen den beiden besteht darin, dass erstere nur die Existenz einer Datei prüft, während letztere auch überprüft, ob diese Datei Inhalte enthält oder nicht. Heute werden wir versuchen, die Verwendung dieser beiden Operatoren zusammen mit einigen anderen Dateitestoperatoren in Bash . zu verstehen.

Hinweis: Um die Verwendung von Dateitestoperatoren in Bash zu demonstrieren, haben wir Linux Mint 20 . verwendet.

Beispiele für die Verwendung von Dateitestoperatoren in Bash

Es gibt verschiedene Möglichkeiten, wie die Dateitestoperatoren „if -e“ und „if -s“ verwendet werden können. Um ihre Verwendung zu erklären, werden wir einige Beispiele mit Ihnen teilen.

Beispiel für die Verwendung des Operators „if -e“

Um den Operator "if -e" in Bash zu verwenden, müssen Sie die folgenden Schritte ausführen:

Zuerst haben wir eine leere Textdatei namens Test erstellt.txt in unserem Home-Verzeichnis. Dann haben wir eine Bash-Datei namens FileTestOperators erstellt.sh im selben Verzeichnis. Nachdem wir diese Datei erstellt haben, haben wir das im folgenden Bild gezeigte Skript in unsere Datei eingegeben. Deklarieren Sie in diesem Bash-Skript eine Variable namens „file“ und weisen Sie ihr unsere Textdatei namens Test . zu.txt als Wert. Dann haben wir eine „if -e“-Anweisung, die eine „wahre“ Ausgabe erzeugt, wenn eine angegebene Datei existiert.

Um unser Skript zu testen, führen wir es mit dem unten angegebenen Befehl aus:

$ bash FileTestOperators.Sch

In unserem Fall ist die Ausgabe unseres Skripts wahr, da die Textdatei vorhanden war, wie in der folgenden Abbildung gezeigt:

Beispiel für die Verwendung des Operators „if -s“

Um den Operator „if -s“ in Bash zu verwenden, sollten Sie die unten aufgeführten Schritte ausführen:

Für dieses Beispiel ist unser Bash-Skript das gleiche, das wir oben verwendet haben. Wir haben gerade die "if -e"-Anweisung in "if -s" geändert. Außerdem haben wir dieselbe leere Textdatei verwendet Test.TXT.

Wenn wir dieses Skript jetzt ausführen, ist die Ausgabe falsch, da der Operator „if -s“ true zurückgibt, wenn eine Datei existiert und auch wenn sie nicht leer ist. Da die Datei in unserem Fall zwar existierte, aber immer noch leer war, stellte sich unsere Ausgabe als falsch heraus, wie in der folgenden Abbildung gezeigt:

Damit dieses Flag wahr ist, schreiben wir einen Dummy-Text in unsere Textdatei, wie unten gezeigt:

Dann führen wir unser Bash-Skript erneut aus, und diesmal ist die Ausgabe wahr, wie in der folgenden Abbildung gezeigt, da die Textdatei jetzt etwas Text enthält.

Beispiele für die Verwendung anderer Dateitestoperatoren

Außer den Operatoren "if -e" und "if -s" gibt es noch andere Dateitestoperatoren. Im Folgenden werden wir Ihnen einige der wichtigsten Dateitestoperatoren vorstellen, die nicht die oben besprochenen sind.

Beispiel für die Verwendung des Operators „if -d“

Um den Operator „if -d“ in Bash zu verwenden, sollten Sie die unten aufgeführten Schritte ausführen:

Für dieses Beispiel ist unser Bash-Skript das gleiche, das wir oben verwendet haben. Wir haben gerade die "if -s"-Anweisung in "if -d" geändert. Außerdem haben wir dieselbe Textdatei verwendet Test.TXT.

Der Operator „if -d“ gibt true zurück, wenn Ihre Datei ein Verzeichnis ist, andernfalls ist es false. Da unsere Textdatei kein Verzeichnis war, ist die Ausgabe daher falsch, wie in der folgenden Abbildung gezeigt:

Beispiel für die Verwendung des Operators „if -h“

Um den Operator "if -h" in Bash zu verwenden, müssen Sie die folgenden Schritte ausführen:

Für dieses Beispiel ist unser Bash-Skript das gleiche, das wir oben verwendet haben. Wir haben gerade die "if -d"-Anweisung in "if -h" geändert. Wir haben dieses Mal jedoch eine andere Datei zum Testen verwendet, die tatsächlich ein symbolischer Link namens NewBash war.Sch.

Der Operator „if -h“ gibt true zurück, wenn Ihre Datei ein symbolischer Link ist, andernfalls ist sie false. Da unsere Testdatei ein symbolischer Link war, ist die Ausgabe daher wahr, wie in der folgenden Abbildung gezeigt:

Beispiel für die Verwendung des Operators „if -r“

Um den Operator „if -r“ in Bash zu verwenden, müssen Sie die folgenden Schritte ausführen:

Für dieses Beispiel ist unser Bash-Skript das gleiche, das wir oben verwendet haben. Wir haben gerade die "if -h"-Anweisung in "if -r" geändert. Außerdem haben wir dieselbe Textdatei verwendet Test.TXT.

Die Ausgabe des Operators „if -r“ ist wahr, wenn der aktuelle Benutzer die Datei lesen kann, andernfalls ist sie falsch. Da unsere Textdatei für uns lesbar war, ist die Ausgabe daher wahr, wie in der folgenden Abbildung gezeigt:

Auf die gleiche Weise können Sie mit den Operatoren „if -w“ und „if -x“ prüfen, ob eine Datei vom aktuellen Eigentümer beschreibbar bzw. ausführbar ist.

Beispiel für die Verwendung des Operators „if -O“

Um den Operator „if -O“ in Bash zu verwenden, sollten Sie die unten aufgeführten Schritte ausführen:

Für dieses Beispiel ist unser Bash-Skript das gleiche, das wir oben verwendet haben. Wir haben gerade die "if -r"-Anweisung in "if -O" geändert. Außerdem haben wir dieselbe Textdatei verwendet Test.TXT.

Die Ausgabe des Operators „if -O“ ist wahr, wenn der aktuelle Benutzer die Datei besitzt, andernfalls ist sie falsch. Da unsere Textdatei uns gehörte, ist die Ausgabe daher wahr, wie in der folgenden Abbildung gezeigt:

Fazit

Dieser Artikel informierte den Leser über die Verwendung der verschiedenen Dateitestoperatoren in Bash unter Verwendung des Linux-Betriebssystems. Durch die Verwendung dieser Dateitestoperatoren wird es für den Benutzer sehr bequem, ohne potenzielle Schwierigkeiten mit Dateien zu arbeiten. Es gibt auch einige andere Dateitestoperatoren, die für verschiedene Zwecke verwendet werden können. Die in diesem Artikel besprochenen werden jedoch am häufigsten verwendet.

OpenTTD-Tutorial
OpenTTD ist eines der beliebtesten Wirtschaftssimulationsspiele auf dem Markt. In diesem Spiel musst du ein wunderbares Transportunternehmen aufbauen....
SuperTuxKart für Linux
SuperTuxKart ist ein großartiger Titel, der entwickelt wurde, um Ihnen das Mario Kart-Erlebnis kostenlos auf Ihrem Linux-System zu bieten. Es ist ziem...
Battle for Wesnoth-Tutorial
The Battle for Wesnoth ist eines der beliebtesten Open-Source-Strategiespiele, die Sie derzeit spielen können. Dieses Spiel befindet sich nicht nur se...