Jak sprawdzić, czy plik lub katalog istnieje w Bash

Podczas pracy z Bash i skryptami powłoki może być konieczne sprawdzenie, czy katalog lub katalog plik istnieje lub nie istnieje w Twoim systemie plików.

Na podstawie tego warunku możesz wyjść ze skryptu lub na przykład wyświetlić komunikat ostrzegawczy dla użytkownika końcowego.

Aby sprawdzić, czy plik plik lub katalog istnieje w Bash, zamierzasz użyć „testów Bash”.

W tym samouczku nauczysz się, jak sprawdzić, czy plik lub katalog istnieje w skrypcie Bash.

Spis treści

Sprawdź, czy plik istnieje

Aby sprawdzić, czy plik istnieje w Bash , musisz użyć opcji „-f” (dla pliku) i określić plik, który chcesz sprawdzić.

Na przykład, powiedzmy chcesz sprawdzić, czy plik „/ etc / passwd” istnieje w twoim systemie plików, czy nie.

W skrypcie napisałbyś, jeśli instrukcja.

Sprawdź istnienie pliku przy użyciu krótszych formularzy

W niektórych przypadkach możesz chcieć sprawdzić, czy plik istnieje bezpośrednio w powłoce Bash.

Aby sprawdzić, czy plik istnieje w Bashu przy użyciu krótszych formularzy, określ opcję „-f” w nawiasach i dołącz polecenie, które chcesz uruchomić, jeśli się powiedzie.

Korzystając z przykładu użytego wcześniej, jeśli chcesz sprawdzić, czy plik „/ etc / passwd” istnieje przy użyciu krótszych formularzy, napisz następujące polecenie

Jak więc działa to polecenie?

Krótsze formularze są ściśle powiązane ze statusami wyjścia.

Kiedy uruchamiasz polecenie w Bashu, zawsze kończy się ono ze statusem błędu: 0 dla błędów i liczb większych niż 0 dla błędów (1, 2… 6 itd.)

W tym przypadku składnia „& &” sprawdzi, czy stan wyjścia polecenia po lewej to równe zero: w takim przypadku wykona polecenie po prawej stronie, w przeciwnym razie nie wykona go.

Protip: możesz użyj „echo $ {?}”, aby zobaczyć status wyjścia ostatniego uruchomienia polecenia

Sprawdzanie wielu plików

W w niektórych przypadkach możesz chcieć sprawdzić czy w systemie plików istnieje wiele plików czy nie.

Aby sprawdzić czy w Bashu istnieje wiele plików, użyj flagi „-f” i określ pliki do sprawdzenia oddzielone operatorem „& &”.

Sprawdź, czy plik nie istnieje

Z drugiej strony możesz chcieć sprawdzić, czy plik nie istnieje w Twoim systemie plików.

Aby sprawdzić, czy plik nie istnieje używając Bash, musisz użyć znaku „!” symbol, po którym następuje opcja „-f” i plik, który chcesz sprawdzić.

Podobnie możesz użyć krótszych formularzy, jeśli chcesz szybko sprawdzić jeśli plik nie istnieje bezpośrednio w Twoim terminalu.

Pamiętaj, że można również sprawdzić, czy plik nie istnieje, używając znaku „||” Operator.

„||” operator wykona polecenie po prawej stronie wtedy i tylko wtedy, gdy polecenie po lewej stronie zawiedzie (tzn. zakończy pracę ze statusem większym niż zero).

Aby sprawdzić, czy plik nie istnieje, używając „||” operatora, po prostu sprawdź, czy istnieje, używając flagi „-f” i określ polecenie do uruchomienia, jeśli się nie powiedzie.

Sprawdź, czy katalog istnieje

Aby sprawdzić, czy katalog istnieje w Bash, musisz użyć opcji „-d” i określić nazwę katalogu do sprawdzenia.

Jako przykład, powiedzmy, że chcesz sprawdzić w Bash, czy katalog / etc istnieje w twoim systemie.

Aby sprawdzić jego istnienie, napiszesz następujący skrypt Bash

Podczas wykonywania tego skryptu otrzymasz następujące dane wyjściowe

Sprawdź istnienie katalogu za pomocą krótsze formularze

W niektórych przypadkach możesz być zainteresowany sprawdzeniem, czy katalog istnieje, czy nie bezpośrednio w powłoce Bash.

Aby sprawdzić, czy katalog istnieje w Bashu, użyj krótszego formularze, określ opcję „-d” w nawiasach i dołącz polecenie, które chcesz uruchomić, jeśli się powiedzie.

Powiedzmy, że chcesz na przykład sprawdzić, czy katalog„ / etc ”istnieje.

Używając krótszej składni, możesz napisać następujące polecenie.

Tworzenie kompletnego skryptu Bash

Jeśli stwierdzasz, że sprawdzasz wiele razy dziennie, czy plik (lub wiele) istnieje w systemie plików, może to być przydatne jest posiadanie skryptu, który może zautomatyzować to zadanie.

W tej sekcji utworzysz skrypt Bash, który może przyjmować wiele nazw plików i zwracać, jeśli istnieją lub nie.

Jeśli tak się nie stanie, na standardowym wyjściu zostanie wyświetlona prosta wiadomość z powiadomieniem.

Utwórz nowy skrypt Bash i spraw, aby był wykonywalny za pomocą chmod.

Oto zawartość skryptu, który ma być używany do dynamicznego sprawdzania, czy pliki istnieją.

Zapisz skrypt i dodaj utworzony folder „bin” do zmiennej środowiskowej PATH.

Teraz, gdy Twój skrypt jest dostępny z dowolnego miejsca w systemie, możesz wywołać swój skrypt i rozpocząć sprawdzanie czy pliki istnieją, czy nie.

Świetnie!

Utworzyłeś niestandardowe, aby sprawdzić, czy pliki istnieją w Twoim systemie plików, czy nie.

Podsumowanie

W tym samouczku nauczyłeś się, jak sprawdzić, czy plik istnieje, czy nie, używając testów Bash i krótkiej składni Bash.

Podobnie nauczyłeś się jak można sprawdzić, czy katalog istnieje.

Na koniec napisałeś kompletny skrypt Bash, który akceptuje dynamiczne argumenty w celu sprawdzenia, czy istnieje wiele plików.

Jeśli interesuje Cię programowanie Bash lub administracja systemem Linux, na naszej stronie mamy pełną sekcję poświęconą temu zagadnieniu, więc koniecznie sprawdź to!

bash

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *