Der Schwerpunkt dieses Handbuchs liegt darin, die Existenz einer Datei in Ihrem System durch Bash-Skripting zu diskutieren:
So überprüfen Sie die Dateiexistenz mit Bash-Skripting:
1) Durch Eingabe des Dateinamens im Terminal:
Zuerst müssen wir eine Bash-Skriptdatei erstellen, verwenden Sie den unten genannten Befehl:
$ Testdatei berühren.SchDer Name der von mir erstellten Datei ist „testfile.sch“, die „.sh“-Erweiterung gibt die Shell-Skriptdatei an:
Öffnen Sie die „Testdatei“.sh“ in einem beliebigen Texteditor. Schreiben Sie dann das Skript, speichern Sie es mit „Speichern“.
Eine Möglichkeit besteht darin, eine Datei zu finden, indem Sie den Benutzer im Terminal nach einem Dateinamen fragen.
Benutzen "-f” um die Existenz der Datei zu überprüfen.
Schreiben Sie das folgende Skript:
#!/bin/bashecho "Geben Sie Ihren Dateinamen ein"
Neue Datei lesen1
if [ -f "$neueDatei1" ]
dann
echo "Datei wurde gefunden"
sonst
echo "Datei wurde nicht gefunden"
fi
Gehen Sie zurück zum Terminal und führen Sie die Datei aus, um die Ausgabe zu drucken:
./Dateiname.SchDie Meldung "Berechtigung verweigert" wird im Terminal angezeigt.
Machen Sie es ausführbar, indem Sie den folgenden Befehl ausführen:
$chmod +x Testdatei.Sch
Geben Sie den Dateinamen ein und die Ausgabe wird gedruckt:
2) Durch Eingabe des Dateinamens beim Schreiben des Skripts:
Eine andere Möglichkeit, eine Datei zu finden, indem Sie beim Schreiben des Skripts den Dateinamen 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 eckigen Klammern und der dritte verwendet ebenfalls „if“, aber doppelte eckige Klammern, wie unten angegeben:
- „AUSDRUCK testen.”
- "wenn [ AUSDRUCK ]"
- „wenn [[ AUSDRUCK]]“
Lassen Sie es uns anhand von Beispielen verstehen:
1) testen [ Ausdruck ]
Kopieren Sie das angegebene Skript und fügen Sie es in den Editor ein, speichern Sie es:
Dateiname=Datei1
if test -f "$Dateiname";
dann
echo "$Datei wurde gefunden."
sonst
echo "$Datei wurde nicht gefunden"
fi
Ausgabe:
Da es in meinem Verzeichnis keine solche Datei gibt, zeigt der Code daher die Meldung „Datei wurde nicht gefunden“ an.
2) wenn [ Ausdruck ]
Kopieren Sie das folgende Skript, um zu überprüfen, ob die Datei vorhanden ist oder nicht:
#!/bin/bashDateiname=meineDatei.TXT
if [ -f "$Dateiname" ];
dann
echo "$Dateiname wurde gefunden."
sonst
echo "Dateiname wurde nicht gefunden"
fi
Ausgabe:
3) wenn [[ Ausdruck ]]
Kopieren Sie das unten geschriebene Skript und fügen Sie es auf dem Terminal ein:
#!/bin/bashDateiname=Testdatei
if [[ -f "$Dateiname" ]];
dann
echo "$Dateiname wurde gefunden."
sonst
echo "$Dateiname wurde nicht gefunden"
fi
Ausgabe:
So überprüfen Sie das Verzeichnis:
3) Durch Eingabe des Verzeichnisnamens beim Schreiben eines Skripts
Verwenden Sie die „-d” Flag, um die Existenz eines Verzeichnisses zu überprüfen.
In dem unten erwähnten Skript ist „dir11“ die Variable, in der Sie die Datei speichern, die Sie finden; In diesem Beispiel möchte ich überprüfen, ob der Verzeichnisname „testDir“ existiert oder nicht.
#!/bin/bashdir11=testDir
if [ -d "$dir11" ]
dann
echo "Verzeichnis wurde gefunden"
sonst
echo "Verzeichnis wurde nicht gefunden"
fi
Ausgabe:
2) Durch Eingabe des Dateinamens im Terminal:
Wenn Sie den Befehl im Terminal ausführen, um zu überprüfen, ob das Verzeichnis vorhanden ist oder nicht, müssen Sie den gesuchten Verzeichnisnamen eingeben:
echo "Geben Sie Ihren Verzeichnisnamen ein."
lese Dir1
if [ -d "Dir1" ]
dann
echo "Verzeichnis wurde gefunden"
sonst
echo "Verzeichnis wurde nicht gefunden"
fi
Ausgabe:
Überprüfen der Datei ohne Verwendung der „if“-Anweisung:
Der Befehl „test“ kann ohne die Anweisung „if“ ausgeführt werden. Es wird nur die Ausgabe angezeigt, wenn die Datei vorhanden ist; sonst würde es keine Ausgabe geben:
Skript schreiben:
- test -f meine Datei.txt && echo "Datei wurde gefunden"
- [ -f meine Datei.txt ] && echo "$Datei wurde gefunden."
- [[ -f meine Datei.txt ]] && echo "$Datei wurde gefunden."
Ausgabe:
Überprüfung des Verzeichnisses ohne Verwendung der „if“-Anweisung:
Verwenden Sie die folgenden Anweisungen, um zu überprüfen, ob ein Verzeichnis vorhanden ist oder nicht:
- [[ -d testDir ]] && echo "Verzeichnis existiert"
- 2) [ -d testDir ] && echo "Verzeichnis existiert"
Ausgabe:
Mehrere Dateien/Verzeichnisse prüfen:
1) Mehrere Dateien mit „if“-Anweisungen prüfen:
Verwenden Sie das Flag „-a“, um die Existenz verschiedener Dateien zu überprüfen, anstatt verschachtelte „if/else“-Anweisungen zu verwenden:
if [ -f neue_datei.txt -a -f neue Datei.TXT ]; dann
echo "Beide Dateien existieren."
fi
Ein anderer Weg ist:
#!/bin/bashif [[ -f neue_datei.txt && -f neue Datei.TXT ]]; dann
echo "Beide Dateien existieren."
fi
Ausgabe:
2) Überprüfen mehrerer Dateien ohne Verwendung der „if“-Anweisung:
Verwenden Sie die folgende Anweisung, um mehrere Dateien gleichzeitig zu überprüfen, 1ohne „if“ zu verwenden:
- [[ -f neue_datei.txt && -f neue Datei.txt ]] && echo „Beide Dateien werden beendet.”
- [[ -f neue_datei.txt && -f neue Datei.txt ]] && echo „Beide Dateien werden beendet.”
Ausgabe:
Fazit:
In diesem Artikel wurde gezeigt, wie Sie mithilfe von Bash-Skripting eine Datei oder ein Verzeichnis überprüfen können. Wir haben verschiedene Optionen verwendet, um die Verfügbarkeit einer Datei zu überprüfen. Zuerst verwenden wir den Befehl „test“ mit verschiedenen Flags. Dann lernten wir die Verwendung von „if“, verschachteltem „if-else“ und ohne die „if“-Anweisungen, um die Datei oder das Verzeichnis zu überprüfen. Wir haben uns auch angeschaut, wie man mehrere Dateien oder Verzeichnisse überprüft.