Jak sprawdzić, czy plik nie istnieje w Bash

Jak sprawdzić, czy plik nie istnieje w Bash

Bash lub Bourne Again Shell to popularna powłoka UNIX używana do scenariuszy i automatyzacji zadań w systemie Linux, MacOS i innych systemów podobnych do Unix. Jednym z powszechnych zadań w skryptowaniu BASH jest sprawdzenie, czy plik nie istnieje. Może to być przydatne w przypadku takich zadań, jak tworzenie nowych plików tylko wtedy, gdy jeszcze nie istnieją, pomijanie istniejących plików podczas przesyłania plików lub wyzwalanie określonych działań na podstawie obecności plików. W tym artykule zbadamy różne sposoby sprawdzenia, czy plik nie istnieje w Bash.

Metoda 1: Korzystanie z 'test' Komenda

'test' Polecenie w Bash to proste, wbudowane narzędzie, które ocenia wyrażenia warunkowe. Można go użyć do sprawdzenia różnych warunków, w tym istnienia pliku. Aby sprawdzić, czy plik nie istnieje, użyj następującej składni:

Kopiuj kod, jeśli test ! -e file_path, a następnie # Wykonaj działania, jeśli plik nie istnieje FI
12345Kopiuj test kodu ! -e file_paththen # Wykonaj działania, jeśli plik nie istnieje

W tym przykładzie '-mi' Flaga sprawdza istnienie pliku, podczas gdy '!' neguje wynik. Jeśli plik nie istnieje, polecenia w obrębie 'Jeśli' blok zostanie wykonany.

Metoda 2: Korzystanie z nawiasów kwadratowych

'test' Polecenie można również reprezentować za pomocą nawiasów kwadratowych („[” I ']'), co jest bardziej powszechne w skryptach Bash. Aby sprawdzić, czy plik nie istnieje za pomocą nawiasów kwadratowych, użyj następującej składni:

Jeśli [ ! -e file_path] Następnie # Wykonaj akcje, jeśli plik nie istnieje FI
1234Jeśli [ ! -e file_path] Następnie # Wykonaj akcje, jeśli plik nie istnieje

Jest to funkcjonalnie równoważne 'test' Przykład polecenia powyżej.

Metoda 3: Za pomocą nawiasów o podwójnej kwadratowej

Bash obsługuje również podwójne nawiasy kwadratowe („[[” I ']]') dla wyrażeń warunkowych. Jest to bardziej nowoczesna i preferowana składnia dla wielu użytkowników, ponieważ zapewnia dodatkowe funkcje i bardziej wybacza odstęp. Aby sprawdzić, czy plik nie istnieje przy użyciu nawiasów podwójnych kwadratowych, użyj następującej składni:

Jeśli [[ ! -e file_path]] następnie # Wykonaj akcje, jeśli plik nie istnieje FI
1234Jeśli [[ ! -e file_path]] następnie # Wykonaj akcje, jeśli plik nie istnieje

Jest to funkcjonalnie równoważne z poprzednimi przykładami, ale wykorzystuje bardziej nowoczesną składnię wspornika podwójnego kwadratowego.

Metoda 4: Korzystanie z 'Jeśli„polecenie z”-F' flaga

W niektórych przypadkach możesz sprawdzić konkretnie pod kątem nieistnienia zwykłego pliku (w przeciwieństwie do katalogu lub innych typów plików). Aby to zrobić, użyj '-F' flaga zamiast '-mi' flaga. Zwróci to prawdę tylko wtedy, gdy plik nie istnieje lub nie jest zwykłym plik:

Jeśli [ ! -f file_path] Następnie # Wykonaj akcje, jeśli plik nie istnieje, lub nie jest zwykłym plik Fi
1234Jeśli [ ! -f File_Path] Następnie # Wykonaj akcje, jeśli plik nie istnieje lub nie jest zwykłym plikiem FileFI

Wniosek

W tym artykule omówiliśmy cztery różne metody sprawdzania, czy plik nie istnieje w Bash. Metody te mogą być używane do różnych zadań, takich jak tworzenie nowych plików tylko wtedy, gdy nie istnieją lub wyzwalają określone działania na podstawie obecności plików. W zależności od preferencji i wymagań możesz wybrać dowolną z powyższych metod, aby sprawdzić nieistnienie pliku w skryptach Bash.