So überprüfen Sie, ob eine Datei in Bash vorhanden ist

So überprüfen Sie, ob eine Datei in Bash vorhanden ist

Es gibt verschiedene Möglichkeiten, die Verfügbarkeit einer Datei unter Linux zu überprüfen. Der Befehl „Test“ in Bash Scripting ist einer der wichtigsten Ansätze zur Überprüfung der Existenz einer Datei.
Der Schwerpunkt dieses Leitfadens liegt auf der Diskussion der Existenz einer Datei in Ihrem System durch Bash -Skript:

So überprüfen Sie die Existenz der Datei mithilfe von Bash -Skript:

1) Durch Eingeben des Dateinamens in das Terminal:

Zunächst müssen wir eine Bash-Skriptdatei erstellen und den folgenden Befehl verwenden:

$ touch testfile.Sch

Der Name der Datei, die ich erstellt habe, lautet „Testdata.sh ”, die“.Die SH ”-Einweiterung gibt die Shell -Skriptdatei an:

Öffnen Sie die „Testdathe.sh ”in jedem Texteditor. Schreiben Sie dann das Skript, speichern Sie es, indem Sie auf "Speichern" drücken.

Eine Möglichkeit besteht darin, eine Datei zu finden, indem Sie nach einem Dateinamen vom Benutzer im Terminal fragen.

Verwenden "-F”Um die Existenz der Datei zu überprüfen.

Schreiben Sie das folgende Skript:

#!/Bin/Bash
Echo "Geben Sie Ihren Dateinamen ein"
Newfile lesen1
Wenn [-f "$ newfile1"]
Dann
Echo "Datei wird gefunden"
anders
Echo "Datei wird nicht gefunden"
fi

Gehen Sie zurück zum Terminal und führen Sie die Datei aus, um die Ausgabe auszudrucken:

./Dateinamen.Sch

Die verweigerte Nachricht wird im Terminal angezeigt.

Machen Sie es ausführbar, indem Sie den folgenden Befehl ausführen:

$ chmod +x Testfile.Sch

Geben Sie den Dateinamen ein und drucken Sie die Ausgabe:

2) Durch Eingeben des Dateinamens beim Schreiben des Skripts:
Eine andere Möglichkeit, eine Datei zu finden, indem Sie den Dateinamen beim Schreiben des Skripts angeben. Wir haben drei Möglichkeiten, die Verfügbarkeit der Datei zu überprüfen. Der erste verwendet den Befehl "test", der zweite verwendet "if" mit einem Ausdruck in quadratischen Klammern, und der dritte besteht auch mit "if", aber doppelt quadratischen Klammern wie unten angegeben:

  1. „Testausdruck.”
  2. "Wenn [Ausdruck]"
  3. "Wenn [[Ausdruck]]"

Verstehen wir es mit Beispielen:

1) Test [Ausdruck]
Kopieren Sie das angegebene Skript und fügen Sie es in den Editor ein, speichern Sie es:

#!/Bin/Bash
Dateiname = Datei1
wenn test -f "$ Dateiname";
Dann
Echo "$ file hat gefunden."
anders
echo "$ file wurde nicht gefunden"
fi

Ausgang:

Da in meinem Verzeichnis keine solche Datei vorhanden ist, zeigt der Code die Nachricht „Datei nicht gefunden“ an.

2) Wenn [Ausdruck]

Kopieren Sie das folgende Skript, um die IF -Datei zu überprüfen oder nicht:

#!/Bin/Bash
Dateiname = myfile.txt
wenn [-f "$ Dateiname"];
Dann
Echo "$ Dateiname hat gefunden."
anders
Echo "Dateiname wurde nicht gefunden"
fi

Ausgang:

3) Wenn [[Ausdruck]]

Kopieren Sie das folgende Skript und fügen Sie es in das Terminal ein:

#!/Bin/Bash
Dateiname = TestFile
wenn [[-f "$ Dateiname"]];
Dann
Echo "$ Dateiname hat gefunden."
anders
Echo "$ Dateiname wurde nicht gefunden"
fi

Ausgang:

Verzeichnis überprüfen:

3) Durch Eingabe des Verzeichnisnamens beim Schreiben eines Skripts

Verwenden Sie die “-DFlag, um die Existenz eines Verzeichnisses zu überprüfen.

Im folgenden Skript ist „Dir11“ die Variable, in der Sie die Datei speichern, die Sie finden. In diesem Beispiel möchte ich den Verzeichnisnamen „testDir“ überprüfen oder nicht.

#!/Bin/Bash
Dir11 = TestDir
Wenn [-d "$ dir11"]
Dann
Echo "Verzeichnis hat gefunden"
anders
Echo "Verzeichnis wurde nicht gefunden"
fi

Ausgang:

2) Durch Eingeben des Dateinamens in das Terminal:
Wenn Sie den Befehl im Terminal ausführen, um zu überprüfen, ob das Verzeichnis existiert oder nicht, müssen Sie den Verzeichnisnamen eingeben, nach dem Sie suchen:

#!/Bin/Bash
Echo "Geben Sie Ihren Verzeichnisnamen ein."
Lesen Sie Dir1
Wenn [-d "Dir1"]
Dann
Echo "Verzeichnis wurde gefunden"
anders
Echo "Verzeichnis hat nicht gefunden"
fi

Ausgang:

Überprüfen der Datei ohne die Anweisung "if":

Der Befehl „Test“ kann ohne die Anweisung "if" ausgeführt werden. Es wird nur die Ausgabe angezeigt, wenn die Datei vorliegt. Andernfalls würde es keine Ausgabe geben:

Skript schreiben:

  1. Test -f myfile.txt && echo "Datei wurde gefunden" "
  2. [-f myfile.txt] && echo "$ file wurde gefunden."
  3. [-f myfile.txt]] && echo "$ file wurde gefunden."

Ausgang:

Überprüfen Sie das Verzeichnis, ohne die Anweisung "if" zu verwenden:

Verwenden Sie die unten erwähnten Aussagen, um ein Verzeichnis zu überprüfen oder nicht:

  1. [[-d testdir]] && echo "Verzeichnis existiert" "
  2. 2) [-d testDir] && echo "Verzeichnis existiert" "

Ausgang:

Überprüfen Sie mehrere Dateien/Verzeichnisse:

1) Überprüfen Sie mehrere Dateien mit "if" -Anweisungen:
Verwenden Sie das Flag „-a“, um das Vorhandensein verschiedener Dateien zu überprüfen, anstatt verschachtelte "if/else" -Anweisungen zu verwenden:

#!/Bin/Bash
if [-f new_file.txt -a -f Neufile.txt ]; Dann
echo "Beide Dateien existieren."
fi

Ein anderer Weg ist:

#!/Bin/Bash
if [[-f new_file.txt && -f Neufile.txt ]]; Dann
echo "Beide Dateien existieren."
fi

Ausgang:

2) Überprüfen Sie mehrere Dateien, ohne die Anweisung "if" zu verwenden:
Verwenden Sie die folgende Anweisung, um mehrere Dateien gleichzeitig mit "if" zu überprüfen:

  1. [[-f new_file.txt && -f Neufile.txt]] && echo “Beide Dateien beenden.”
  2. [[-f new_file.txt && -f Neufile.txt]] && echo “Beide Dateien beenden.”

Ausgang:

Abschluss:

In diesem Artikel wurde gezeigt, wie Sie Bash Scripting verwenden, um eine Datei oder ein Verzeichnis zu überprüfen. Wir haben verschiedene Optionen verwendet, um die Verfügbarkeit einer Datei zu überprüfen. Erstens verwenden wir den Befehl „Test“ mit verschiedenen Flags. Dann haben wir die Verwendung von "if", verschachtelt "if-else" und ohne die "if" -Anweisungen gelernt, um die Datei oder das Verzeichnis zu überprüfen. Wir haben uns auch über die Überprüfung mehrerer Dateien oder Verzeichnisse untersucht.