Bash - test, czy istnieje plik lub katalog
- 3606
- 485
- Pan Jeremiasz Więcek
Jeśli chcesz sprawdzić, czy istnieje plik lub katalog, możesz użyć polecenia testowego. Zwróci to, jeśli jest plik lub katalog, a w przeciwnym razie fałsz. Polecenie testowe może być używane z dowolnym z poniższych parametrów:
W tym artykule zawiera kilka szczegółów na temat testu, czy w systemie istnieje plik lub katalog. Co może być dla Ciebie bardzo pomocne podczas pisania skontaktowania.
#1. Sprawdź, czy plik istnieje
Jeśli wymagamy dodania niektórych treści lub potrzebujemy tworzenia plików ze skryptu. Najpierw upewnij się, że plik już istnieje, czy nie. Na przykład jeden z moich skryptów tworzy dzienniki w pliku /tmp/testowy.dziennik i musimy upewnić się, że ten plik istnieje lub nie
#!/bin/bash if [-f/tmp/testFile.dziennik] następnie echo „plik istnieje” FI123456 | #!/bin/bash if [-f/tmp/testFile.dziennik] następnie echo „plik istnieje” FI |
Powyższe stwierdzenia można również zapisać za pomocą test Słowo kluczowe jak poniżej
#!/bin/bash, jeśli test -f/tmp/testowy.log, a następnie echo „plik istnieje” FI123456 | #!/bin/bash, jeśli test -f/tmp/testowy.logthen echo „plik istnieje” FI |
Lub w jednym wierszu możemy to napisać jak poniżej. Jest to bardzo przydatne podczas pisania w skrócie skorupy.
[-f /tmp /testowy.log] && echo „Plik istnieje”1 | [-f /tmp /testowy.log] && echo „Plik istnieje” |
Aby dodać część w powyższym poleceniu
[-f /tmp /testowy.log] && echo „plik istnieje” || Echo „Plik nie istnieje”1 | [-f /tmp /testowy.log] && echo „plik istnieje” || Echo „Plik nie istnieje” |
#2. Przetestuj, czy katalog istnieje
Czasami musimy utworzyć pliki w określonym katalogu lub potrzebować katalogu z jakiegokolwiek innego powodu, powinniśmy upewnić się, że katalog istnieje. Na przykład sprawdzamy /tmp/mydir istnieje dla nie.
#!/bin/bash if [-d/tmp/mydir], a następnie echo „katalog istnieje” fi123456 | #!/bin/bash if [-d/tmp/mydir], a następnie echo „katalog istnieje” fi |
Powyższe stwierdzenia można również zapisać za pomocą test Słowo kluczowe jak poniżej
#!/bin/bash Jeśli test -d/tmp/mydir, a następnie echo „katalog istnieje” FI123456 | #!/bin/bash Jeśli test -d/tmp/myDirthen echo „Directory istnieje” FI |
Lub w jednym wierszu możemy to napisać jak poniżej
[-d /tmp /myDir] && echo „Directory istnieje”1 | [-d /tmp /myDir] && echo „Directory istnieje” |
#3. Utwórz plik/katalog, jeśli nie istnieje
Jest to najlepsza praktyka do sprawdzania istnienia pliku przed utworzeniem ich indziej, otrzymasz komunikat o błędzie. Jest to bardzo pomocne podczas tworzenia skryptów shell wymaganych do składania lub katalogu tworzenia w czasie wykonywania.
Dla pliku:
[[[ ! -f /tmp /testowy plik.log] && touch /tmp /testFile.dziennik1 | [[[ ! -f /tmp /testowy plik.log] && touch /tmp /testFile.dziennik |
Do katalogu:
[[[ ! -d /tmp /myDir] && mkdir -p /tmp /mydir1 | [[[ ! -d /tmp /myDir] && mkdir -p /tmp /mydir |
- « Jak zainstalować moduł PHP XCACHE w CPANEL
- Jak zainstalować LightTPD z PHP i MariaDB na Centos/RHEL 6/5 »