Jak sprawdzić, czy plik lub katalog istnieje w skrypcie powłoki Bash?

Jak sprawdzić, czy plik lub katalog istnieje w skrypcie powłoki Bash?

Sprawdzanie, czy plik lub katalog istnieje ze skryptu Bash

Bash służy do automatyzacji regularnie wykonywanych poleceń w systemie Linux. Polecenia przeznaczone do operacji na plikach/katalogach są dość często używane i zazwyczaj przed wykonaniem takiego polecenia musimy sprawdzić, czy dany plik lub katalog istnieje. Zobaczmy, jak przeprowadzić tę kontrolę.

Składnia i użycie

Pliki

Aby sprawdzić, czy plik istnieje , użyj następującej składni:

[ -f  ]

Wyrażenie [ -f ]zwraca 0, tj. sukces, jeśli istnieje, a jeśli nie istnieje, zwraca status niezerowy. Zazwyczaj jest to używane jako warunek w ifoświadczeniu.

if [ -f  ]
then
  
fi

Aby zanegować zwróconą wartość , po prostu poprzedź -foperatorem negacji ( !).

if [ ! -f  ]
then
  
fi

W takim przypadku warunek zostanie spełniony, jeśli plik nie istnieje , ponieważ zwrócony status niezerowy (fałsz) zostanie zanegowany i uznany za 0 (prawda).

Jak sprawdzić, czy plik lub katalog istnieje w skrypcie powłoki Bash?

Jak sprawdzić, czy plik lub katalog istnieje w skrypcie powłoki Bash?

Zwróć uwagę, że jeśli plik do sprawdzenia nie istnieje w bieżącym katalogu, a istnieje w innym katalogu, należy podać pełną ścieżkę do pliku, a nie tylko nazwę pliku.

Katalogi

Podobna składnia jak przy sprawdzaniu plików jest używana do sprawdzania katalogów.

[ -d  ]

Podobnie jak instrukcja dla plików, ta instrukcja zwraca 0, tj. sukces, jeśli katalog istnieje, a wartość niezerową, tj. status niepowodzenia, jeśli nie istnieje. Jest to również często używane w ifwarunku instrukcji.

if [ -d  ]
then
  
fi

Aby zanegować zwrócony status, należy poprzedzić -doperatorem negacji ( !).

if [ ! -d  ]
then
  
fi

Warunek zostanie spełniony (status 0) w tym przypadku, jeśli katalog nie istnieje, i nie powiedzie się (stan inny niż zero), jeśli katalog istnieje.

Jak sprawdzić, czy plik lub katalog istnieje w skrypcie powłoki Bash?

Jak wspomniano wcześniej w przypadku plików, jeśli katalog do sprawdzenia istnieje w innej lokalizacji, a nie w bieżącym katalogu, należy wprowadzić całą ścieżkę katalogu zamiast tylko nazwy katalogu.

💡 Użyta tutaj składnia nawiasów ( [...]) jest w rzeczywistości poleceniem Linuksa o nazwie test. Opcje -fi -dto cechy tego polecenia. Aby uzyskać więcej informacji, zobacz stronę podręcznika testu ( man test).

Sprawdź ze skryptu Bash

W powyższych przykładach użyliśmy składni bezpośrednio na terminalu. Powłoka za każdym razem, gdy napotka pętlę lub instrukcję warunkową ( ifw naszym przypadku), kontynuuje monit i pozwala użytkownikowi wprowadzić blok kontynuujący.

Tej samej składni można użyć w skrypcie Bash.

Jak sprawdzić, czy plik lub katalog istnieje w skrypcie powłoki Bash?

Na  #!/bin/bash początku określa interpreter, który ma być użyty podczas wykonywania pliku. Chociaż Bash jest obecnie najczęściej używaną powłoką, niektórzy użytkownicy preferują powłoki takie jak  zsh, które należy określić zamiast bash na początku tego pliku.

Aby nadać uprawnienia  do wykonywania tego pliku, uruchom:

chmod +x test.sh

Na koniec,  aby uruchomić plik , uruchom:

./test.sh
Tags: #grzmotnąć

10 najlepszych aplikacji do wideokonferencji dla systemu Linux

10 najlepszych aplikacji do wideokonferencji dla systemu Linux

Dla freelancerów i pracowników, którzy regularnie pracują w domu, komunikacja zdalna jest jedną z wielu rzeczy, o które trzeba zadbać. Obecnie dla wielu z nas wideokonferencje zastąpiły spotkania w biurze. Narzędzia takie jak Zoom i Skype odnotowały ogromny wzrost.

Jak zainstalować serwer FTP na Ubuntu w 5 krokach

Jak zainstalować serwer FTP na Ubuntu w 5 krokach

Jeśli konfigurujesz serwer Linux, będziesz potrzebować dostępu do FTP. Oznacza to najpierw zainstalowanie serwera FTP w systemie Linux. Powinna to być jedna z pierwszych rzeczy, które robisz po zainstalowaniu systemu operacyjnego serwera.

Jak łatwo szyfrować i odszyfrowywać pliki i katalogi w systemie Linux

Jak łatwo szyfrować i odszyfrowywać pliki i katalogi w systemie Linux

Czy kiedykolwiek chciałeś szybko i łatwo szyfrować pliki w systemie Linux bez konieczności instalowania i uczenia się nowych pakietów oprogramowania? Oto doskonały i łatwy sposób na łatwe szyfrowanie plików lub katalogów za pomocą AES256 zabezpieczonego hasłem, co pomaga trzymać pliki z dala od wścibskich oczu.

Jak naprawić make: polecenie nie zostało znalezione Błąd w Ubuntu

Jak naprawić make: polecenie nie zostało znalezione Błąd w Ubuntu

Polecenie make jest prawdopodobnie jednym z najczęściej używanych poleceń w ekosystemie Linuksa. To polecenie służy do budowania i kompilowania programów bezpośrednio z kodu źródłowego.

Jak znaleźć i usunąć zduplikowane pliki w systemie Linux za pomocą fdupes

Jak znaleźć i usunąć zduplikowane pliki w systemie Linux za pomocą fdupes

Podczas pracy z dużą ilością multimediów i dokumentów często zdarza się, że na komputerze gromadzi się wiele kopii tego samego pliku. Nieuchronnie pojawia się zaśmiecona przestrzeń dyskowa wypełniona zbędnymi plikami, co powoduje okresowe sprawdzanie duplikatów plików w systemie.

Stabilne czy Bleeding-Edge Dystrybucje Linuksa: Którą z nich wybrać?

Stabilne czy Bleeding-Edge Dystrybucje Linuksa: Którą z nich wybrać?

Jednym z głównych wyborów, przed którymi staje wielu użytkowników Linuksa przy wyborze dystrybucji Linuksa, jest jej stabilność lub to, jak bardzo zmienia się oprogramowanie.

Czy rok 2020 jest rokiem pandemii szkodliwego oprogramowania dla Linuksa?

Czy rok 2020 jest rokiem pandemii szkodliwego oprogramowania dla Linuksa?

Jego reputacja w zakresie bezpieczeństwa oznacza, że ​​Linux jest często uważany za mniej podatny na rodzaje zagrożeń, które regularnie nękają systemy Microsoft Windows. Wiele z tego postrzeganego bezpieczeństwa pochodzi ze stosunkowo małej liczby systemów Linux, ale czy cyberprzestępcy zaczynają dostrzegać wartość w wybieraniu jakości, a nie ilości?

Jak pobrać i zainstalować uGet Download Manager w systemie Linux

Jak pobrać i zainstalować uGet Download Manager w systemie Linux

Menedżery pobierania to popularne narzędzie do zarządzania wszystkimi pobranymi plikami w jednej aplikacji i zapewniają przydatne funkcje. Jeśli niedawno przeszedłeś z systemu operacyjnego Windows na Linuksa, być może szukasz alternatywy dla słynnego Internet Download Managera (IDM).

Notatki na Chromebookach ułatwiające kursywą

Notatki na Chromebookach ułatwiające kursywą

Cursive to progresywna aplikacja internetowa (PWA), którą firma Google wprowadziła wraz z wydaniem Chromebooka HP x2 11. Możesz używać tej aplikacji do robienia odręcznych notatek na Chromebooku wyposażonym w rysik.

Jak korzystać z Vima: Przewodnik po podstawach

Jak korzystać z Vima: Przewodnik po podstawach

Vim to najpotężniejszy i najbardziej wszechstronny edytor kodu dostępny dla systemów uniksopodobnych. Jest to rozszerzenie edytora Vi opracowanego przez Billa Joya. Vim jest domyślnie dostępny w większości systemów Linux i BSD.