Katalogi i foldery są głównymi i dość ważnymi częściami każdego systemu operacyjnego. Bez katalogów i plików nasz system nie jest zakończony. Katalogi służą do przechowywania podfolderów i plików, które przechowują w nich dane do bezpieczeństwa i pracy osobistej. W systemie operacyjnym Linux mamy również ten sam system plików i.mi., katalogi i podfolter. Programowanie Bash opracowało niektóre bardzo proste polecenia i instrukcje, aby sprawdzić, czy konkretny katalog pliku istnieje w naszym systemie, czy nie. Dlatego postanowiliśmy napisać ten artykuł, aby sprawdzić, czy katalog istnieje w naszym systemie Linux, czy nie.
Przykład 01: Sprawdź, czy plik istnieje
Zacznijmy od podstawowego przykładu. Najpierw przyjrzymy się sprawdzeniu prostego pliku w naszym systemie Linux.mi., Jeśli istnieje, czy nie. Dlatego tworzymy nowy plik typu tekstu o nazwie „nowy.txt ”w folderze domowym Ubuntu z instrukcją„ dotyk ”. Dodaliśmy jedno-liniowy tekst w pliku i wyświetliśmy go na skorcie za pomocą instrukcji „CAT” pokazanej poniżej. Dane wyjściowe poniższego polecenia jest dołączone do obrazu.
$ dotyk nowy.tekst
$ CAT NOWOŚĆ.tekst
Teraz nadszedł czas, aby utworzyć nowy plik bash z instrukcją „dotyk” o nazwie „Dirrec.sh ”jak poniżej. Musimy otworzyć ten pusty plik, aby rozpocząć kodowanie w nim. W tym celu użyliśmy instrukcji „Nano”, aby uruchomić ją w ramach redaktora GNU Nano. Dane wyjściowe poniższego polecenia jest dołączone do obrazu.
$ Touch Direc.cii
$ Nano Direc.cii
Teraz pusty plik został otwarty w nano edytora. W pierwszym wierszu kodu zainicjowaliśmy zmienną pliku „F” trzymającą ścieżkę do pliku „nowy.txt ”jako„/home/linux/nowy.tekst". Wykorzystano tutaj stwierdzenie „IF-Then” Basha, aby sprawdzić, czy plik „nowy.txt ”istnieje lub nie. Klauzula „jeśli” rozpoczyna się od słowa kluczowego „test”, a następnie flaga „-f” dla plików. W odwróconych przecinkach dodaliśmy zmienną „$ f”. Po tym klauzula „Następnie” rozpoczęła się od instrukcji „echo” przy użyciu nazwy zmiennej do pokazania, czy istnieje, czy nie. Część „następnie” instrukcji „IF-Then” zostanie wykonana tylko wtedy, gdy warunek „jeśli” będzie prawdziwy.
Uruchommy plik bash za pomocą słowa kluczowego „bash”, a następnie nazwy pliku „Dirrec.cii". Ponieważ plik istnieje w katalogu domowym naszego systemu, w ten sposób wykonał instrukcję echo i pokazuje, że plik istnieje. Dane wyjściowe poniższego polecenia jest dołączone do obrazu.
$ Bash Direc.cii
To samo można osiągnąć przy użyciu kwadratowych nawiasów wokół stanu klauzuli „jeśli” bez użycia słowa kluczowego „test”, jak pokazano poniżej. Wykonajmy go, aby zobaczyć jego wynik w ekranie wyjściowym Bash w skorupce.
Po uruchomieniu tego zaktualizowanego kodu mamy ten sam wynik.mi. plik istnieje. Dane wyjściowe poniższego polecenia jest dołączone do obrazu.
$ Bash Direc.cii
Przykład 02: Sprawdź, czy istnieje katalog
Rzućmy okiem na kod używany do sprawdzenia, czy katalog folderu istnieje w naszym systemie, czy nie. W tym celu będziemy używać czysto nowego folderu. Dlatego w obszarze zapytania o terminację wypróbowaliśmy polecenie „MKDIR”, aby utworzyć nowy katalog o nazwie „nowy”. Ten nowo utworzony katalog zostanie użyty w naszym kodzie, aby sprawdzić, czy istnieje, czy nie. Polecenie listy jest wykonywane, aby zobaczyć wszystkie istniejące katalogi i pliki w folderze domowym. Możemy zobaczyć „nowy” katalog wymieniony na pokazanym wyjściu pod folderem „Muzyka” i po „pobraniu”. Dane wyjściowe poniższego polecenia jest dołączone do obrazu.
$ mkdrir nowy
$ ls
Otwórzmy ten sam „Dirrec.plik sh ”w edytorze nano Ubuntu, aby utworzyć nowy kod. Po uruchomieniu pliku musimy utworzyć nową zmienną katalogową „D”, która trzyma ścieżkę do nowo utworzonego katalogu o nazwie „nowy” jako „/home/linux/nowy”. Ogólna praca nad sprawdzeniem istnienia katalogu została wykonana w ramach oświadczenia „IF-Then-Else” Bash. Tak więc instrukcja „If” została uruchomiona z warunkiem sprawdzania katalogu w systemie za pomocą flagi „-D” dla „katalogu” wraz ze zmienną katalogu w odwróconych przecinkach. Ten warunek został wykorzystany w nawiasach kwadratowych. Jeśli warunek zostanie zadowolony, a katalog istnieje, instrukcja „Następnie” zostanie wykonana wraz z instrukcją „echo”. W przeciwnym razie część instrukcji „else” zostanie wykorzystana wraz z instrukcją „echo” pokazującą, że plik nie istnieje. Ogólne stwierdzenie zostanie zamknięte przez słowo kluczowe „FI”, jak pokazano poniżej.
Teraz nadszedł czas, aby uruchomić nasz kod bash w pocisku terminalu za pomocą zapytania „Bash” pokazane na obrazie. Po uruchomieniu otrzymaliśmy wiadomość sukcesu pokazującą, że katalog istnieje. Dane wyjściowe poniższego polecenia jest dołączone do obrazu.
$ Bash Direc.cii
Jeśli chcesz osiągnąć wykonanie częściowej części w terminalu Shell, musisz usunąć katalog, aby warunek nie był zadowolony. Dlatego usunęliśmy nowo wykonany pusty katalog „nowy” z folderu domowego naszego Ubuntu 20.04 System. Następnie wymieniliśmy zawartość folderu domowego za pomocą polecenia listy i stwierdziliśmy, że nie ma katalogu nazwy „nowej” jak poniżej. Po uruchomieniu tego samego „Direc.plik bash sh ”z instrukcją„ bash ”, otrzymaliśmy dane wyjściowe pokazujące, że inna część kodu została wykonana i.mi., Katalog nie istnieje.
$ ls
$ Bash Direc.cii
Wniosek
Wreszcie! Wyjaśniliśmy, czy katalog istnieje w naszym Ubuntu 20.04 System czy nie. W tym celu wypróbowaliśmy skrypt bash, aby osiągnąć nasz cel. Omówiliśmy również użycie „-F” do sprawdzania plików i „-D” do sprawdzania katalogu w systemie. Wszystkie przykłady są proste i zgodnie z naszym wyborem użytkownika.