Bash Sprawdź, czy plik istnieje
Czy pracujesz ze skryptami powłoki i Grzmotnąć? Ten artykuł jest dla Ciebie. W pewnym momencie pracy będziesz musiał sprawdzić system plików. Czy Twój katalog nadal tam jest? Nie masz pewności, czy Twój plik już istnieje? Oto dwa podstawowe pytania, które musisz znać.
Skąd wiesz, czy katalog lub plik istnieje w Bash? Odpowiedź jest prosta, wykonaj „Bash Test”. Dzisiaj nauczymy Cię, jak to zrobić. Pod koniec tego artykułu powinieneś samodzielnie sprawdzić, czy plik lub katalog nadal istnieje w Twoim skrypcie Bash.
Sprawdź, czy istnieje zwykły plik
Pierwszą kwestią, którą należy się zająć, jest to, czy zwykły plik lub katalog nadal istnieje w skrypcie Bash. Aby odpowiedzieć na to pytanie, musisz wykonać polecenie test.
Jeśli chcesz sprawdzić, czy plik istnieje, musisz użyć opcji „-f ”Opcja pliku. Upewnij się, że wskazałeś plik, którego szukasz.
Będziemy używać „/ user / commrev” jako pliku przykład w całym artykule.
Na przykład próbujesz sprawdzić, czy istnieje plik „/ user / commrev”. W swoim skrypcie bash musisz zapisać go jako:
if ].
Jeśli plik istnieje, następny wiersz polecenia, który zobaczysz, powinien wyglądać następująco:
else echo "<file> exists on your file system."
Używając krótkich terminów
Możesz również bezpośrednio przetestuj swoją powłokę bash, używając i istniejących krótkich terminów. Użyj tej samej opcji dowiązania symbolicznego „-f” i wpisz polecenie, które chcesz uruchomić. Musisz więc otworzyć polecenie testowe i napisać jako
if ] && echo "This file exists!"
Sprawdzanie, czy istnieje więcej niż jeden plik
W przypadku, gdy chcesz sprawdzić, czy istnieje więcej niż jeden plik, możesz nadal to rób. Podobnie jak w powyższych sytuacjach użyj „-f” i sprawdź, czy plik, który próbujesz zlokalizować, nadal tam jest. Oddziel pliki za pomocą operatora „& &”.
Na przykład chcesz sprawdzić, czy 1 istnieją pliki 1 i 2. Możesz wpisać go w poleceniu test w następujący sposób:
if ] && ] thenecho "file exists!" fi.
Proste! Pamiętaj, aby zapamiętać polecenie „-f” i nazwa pliku, którego szukasz.
Sprawdź, czy plik nie istnieje
Następny, który „ Muszę się nauczyć, aby sprawdzić, czy plik już nie istnieje. Polecenie jest łatwe do nauczenia się i zapamiętania.
Używając skryptu Bash, użyj znaku „!” symbol i podążaj za nim z opcją „-f” oraz plikiem, który próbujesz sprawdzić.
Na przykład:
if ] then echo "<file> does not exist on your file system. "
Możesz także użyć krótszych formularzy, podobnie jak w powyższym przykładzie. Będziesz mógł szybko sprawdzić, czy plik istnieje na Twoim terminalu. Możesz więc wpisać go w poleceniu test jako
] && echo "This file does not exist!" && echo "File does not exist!"
Alternatywnie możesz również użyć ”| | ”Operator. Wykona prawidłowe polecenie w przypadku niepowodzenia polecenia z lewej strony. Możesz go wpisać w następujący sposób:
] | | echo "File does not exist!"
Proste! Będziesz mógł sprawdzić, czy plik istnieje w Bash, czy nie!
Sprawdź, czy katalog istnieje
Skąd wiesz, czy twoje katalogi nadal istnieją w Bash? Cóż, musisz użyć i zapamiętać opcję polecenia „-d” dowiązania symbolicznego. Wykonaj to polecenie, podając katalog, którego szukasz.
if ]thenecho " FILE DIRECTORY exist ." fi
Na przykład chcesz sprawdzić w Bash, czy / user / commrev nadal istnieje w katalogu. Będzie to wyglądać mniej więcej tak:
#!/bin/bash if ] thenecho "/user/commrev exists on your file system."
Kiedy wpiszesz to polecenie w Bash, wynik powinien wyglądać tak, jak ten $ / etc. Istnieje w twoim systemie plików.
Używając skrótu terminy
Podobnie jak w przypadku używania krótkich terminów do sprawdzenia, czy plik istnieje w Bash, możesz również zrobić to samo dla katalogu. W powłoce bash możesz użyć krótkich terminów, aby sprawdzić, czy katalog nadal istnieje.
Aby go przetestować, użyjesz opcji „-d”. Upewnij się, że umieściłeś go w nawiasach, i wykonaj polecenie, które chcesz uruchomić. Powinien wyglądać mniej więcej tak:
] && echo "FILE directory exists!" && echo "This FILE directory exists!"
Chcesz przetestować i sprawdzić, czy / user / commrev istnieje w Twoim katalogu. Możesz użyć krótkiego terminu i wpisać go jako
" && echo "This directory exists!"
Jak utworzyć skrypt bash
Zapamiętanie wszystkich tych poleceń i opcji może być dla niektórych trudne, szczególnie jeśli jesteś typem osoby, która wielokrotnie sprawdza, czy dany plik istnieje lub katalog nadal istnieje w systemie . Cóż, może ci się przydać nauczenie się, jak stworzyć skrypt, który automatycznie wykona zadanie za Ciebie!
Nauczymy Cię, jak utworzyć skrypt bash, który może sprawdzać wiele nazw plików.Nie musisz już więcej wpisywać tego polecenia.
Korzystając z chmod, możesz łatwo utworzyć nowy skrypt bash i go wykonać. Będzie to wyglądać mniej więcej tak:
$ mkdir -p ~/bin $ cd ~/bin && touch check_file && chmod u+x check_file && vi check_file
Ogólnie, jeśli zaczynasz sprawdzać, czy plik istnieje, zawartość skryptu będzie wyglądać następująco:
Przed wyjściem z Bash zapisz swój skrypt. Dodaj folder „bin” i dodaj go do środowiska PATH. Będzie wyglądał mniej więcej tak:
$ export PATH="~/bin:$PATH" $ printrev PATH ~/bin: /usr/local/sbin: /usr/local/bin: /usr/sbin: /usr/bin: /sbin: /bin
Możesz uzyskać do niego dostęp z dowolnego miejsca w systemie! Możesz nawet wyciągnąć skrypt i sprawdzić, czy plik istnieje, czy nie. Gotowe! Nie ma potrzeby ponownego otwierania polecenia testowego.
Koniec Słowa
Dzisiaj nauczyłeś się, jak sprawdzać i testować, czy plik istnieje, czy nie, w Twoim Bash!
Używając testów bash i testu powłoki bash, w skrócie, będziesz być w stanie je znaleźć! Znajdź jeden lub dwa pliki w mgnieniu oka! Nauczyłeś się również, jak sprawdzić, czy katalog nadal istnieje!
Na koniec nauczyliśmy Cię, jak ulepszyć życie. Nauczyliśmy Cię, jak napisać pełny skrypt basha, aby sprawdzić, czy plik istnieje wiele razy w tym samym czasie.
Wygrałeś Nie musisz się martwić, szukając pliku! Możesz poczekać, aż program uruchomi system plików i przekazać opinię, czy af ile nie istnieje, czy nie.
Mamy nadzieję, że pomogliśmy Ci bez względu na to, czy próbujesz sprawdzić, czy plik lub katalog istnieje.