Bash - test, czy istnieje plik lub katalog

Bash - test, czy istnieje plik lub katalog

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” FI
123456#!/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” FI
123456#!/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” fi
123456#!/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” FI
123456#!/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.dziennik
1[[[ ! -f /tmp /testowy plik.log] && touch /tmp /testFile.dziennik

Do katalogu:

[[[ ! -d /tmp /myDir] && mkdir -p /tmp /mydir
1[[[ ! -d /tmp /myDir] && mkdir -p /tmp /mydir