Jak sprawdzić, czy plik istnieje w Bash

Jak sprawdzić, czy plik istnieje w Bash

Istnieje kilka sposobów sprawdzenia dostępności pliku w Linux. Polecenie „testowe” w skryptowaniu BASH jest jednym z kluczowych podejść do sprawdzania istnienia pliku.
Celem tego przewodnika jest omówienie istnienia pliku w systemie poprzez skrypty BASH:

Jak sprawdzić istnienie plików za pomocą skryptów Bash:

1) Wprowadzając nazwę pliku w terminalu:

Po pierwsze, musimy utworzyć plik skryptu Bash, użyć poniższego polecenia:

$ Touch TestFile.cii

Nazwa utworzonego przeze mnie pliku to „test testowy.sh ”,„.Rozszerzenie sh ”wskazuje plik skryptu powłoki:

Otwórz „test testowy.sh ”w dowolnym edytorze tekstu. Następnie napisz skrypt, zapisz go, naciskając „Zapisz”.

Jednym ze sposobów jest znalezienie pliku, prosząc o nazwę pliku od użytkownika w terminalu.

Używać "-F„Aby sprawdzić istnienie pliku.

Napisz poniższy skrypt:

#!/bin/bash
echo „Wprowadź swoją nazwę pliku”
Przeczytaj NewFile1
Jeśli [-f „$ newFile1”]
Następnie
Echo „Plik znajduje się”
w przeciwnym razie
Echo „Plik nie znaleziono”
fi

Wróć do terminala i uruchom plik, aby wydrukować wyjście:

./Nazwa pliku.cii

Zezwolenie odrzucone komunikat zostanie wyświetlony w terminalu.

Uczyń go wykonywanie, wykonując poniżej wspomniane polecenie:

$ chmod +x testowy.cii

Wprowadź nazwę pliku, a wydrukuje wyjście:

2) Wpisując nazwę pliku podczas pisania skryptu:
Inny sposób znalezienia pliku, podając nazwę pliku podczas pisania skryptu. Mamy trzy sposoby sprawdzenia dostępności pliku. Pierwszy z nich używa polecenia „Test”, drugi używa „If” z wyrażeniem w nawiasach kwadratowych, a trzeci jest również z „If”, ale podwójnie kwadratowe wsporniki, jak pokazano poniżej:

  1. „Wyrażenie testowe."
  2. „Jeśli [wyrażenie]”
  3. „Jeśli [[wyrażenie]]”

Zrozummy to z przykładami:

1) test [wyrażenie]
Skopiuj dany skrypt i wklej go do edytora, zapisz go:

#!/bin/bash
FileName = File1
jeśli test -f „$ filename”;
Następnie
echo "$ plik znalazł."
w przeciwnym razie
echo „nie znaleziono pliku $”
fi

Wyjście:

Ponieważ w moim katalogu nie ma takiego pliku, kod wyświetla komunikat „Plik nie można znaleźć”.

2) Jeśli [wyrażenie]

Skopiuj następujący skrypt, aby sprawdzić, czy plik istnieje, czy nie:

#!/bin/bash
nazwa pliku = myfile.tekst
if [-f „$ filename”];
Następnie
echo "$ FILEName znalazł."
w przeciwnym razie
Echo „Nie znaleziono nazwy pliku”
fi

Wyjście:

3) Jeśli [[wyrażenie]]

Skopiuj poniżej napisany skrypt i wklej go na terminalu:

#!/bin/bash
nazwa pliku = test testowy
if [[-f "$ filename"]];
Następnie
echo "$ FILEName znalazł."
w przeciwnym razie
echo „$ filename nie znaleziono”
fi

Wyjście:

Aby sprawdzić katalog:

3) Wpisując nazwę katalogu podczas pisania skryptu

Użyj "-D„Flaga, aby sprawdzić istnienie katalogu.

W poniższym skrypcie „Dir11” jest zmienną, w której przechowujesz ten plik, który znajdziesz; W tym przykładzie chcę sprawdzić nazwę katalogu „testDir” istnieje lub nie.

#!/bin/bash
Dir11 = testDir
Jeśli [-d „$ dir11”]
Następnie
Echo „Znalazł katalog”
w przeciwnym razie
Echo „Directory nie został znaleziony”
fi

Wyjście:

2) Wprowadzając nazwę pliku w terminalu:
Po uruchomieniu polecenia w terminalu, aby sprawdzić, czy katalog istnieje, czy nie, musisz wprowadzić nazwę katalogu, której szukasz:

#!/bin/bash
echo "Wpisz nazwę katalogu."
Przeczytaj Dir1
Jeśli [-d „Dir1”]
Następnie
Echo „Znaleziono”
w przeciwnym razie
Echo „Directory nie znalazł”
fi

Wyjście:

Sprawdzanie pliku bez użycia instrukcji „jeśli”:

Polecenie „Test” można wykonać bez instrukcji „If”. Wyświetli się tylko wtedy, gdy istnieje plik; W przeciwnym razie nie byłoby wyjścia:

Napisz skrypt:

  1. test -f myfile.TXT && ECHO „Plik został znaleziony”
  2. [-f myfile.txt] && echo "$ plik został znaleziony."
  3. [[-f myfile.txt]] && echo "$ plik został znaleziony."

Wyjście:

Sprawdzanie katalogu bez użycia instrukcji „If”:

Użyj poniżej wspomnianych stwierdzeń, aby sprawdzić, czy katalog istnieje, czy nie:

  1. [[-d TestDir]] && Echo „Directory Iste”
  2. 2) [-d TestDir] && echo „Directory Iste”

Wyjście:

Sprawdzanie wielu plików/katalogów:

1) Sprawdzanie wielu plików za pomocą instrukcji „If”:
Użyj flagi „-A”, aby sprawdzić istnienie różnych plików zamiast używać zagnieżdżonych instrukcji „If/Else”:

#!/bin/bash
Jeśli [-f New_file.txt -a -f Newfile.tekst ]; Następnie
echo „istnieją oba pliki."
fi

Innym sposobem jest:

#!/bin/bash
Jeśli [[-f New_file.txt && -f NewFile.tekst ]]; Następnie
echo „istnieją oba pliki."
fi

Wyjście:

2) Sprawdzanie wielu plików bez użycia instrukcji „If”:
Użyj następującej instrukcji, aby jednocześnie sprawdzić wiele plików 1 bez użycia „IF”:

  1. [[-f New_file.txt && -f NewFile.txt]] && echo „Oba pliki wychodzą."
  2. [[-f New_file.txt && -f NewFile.txt]] && echo „Oba pliki wychodzą."

Wyjście:

Wniosek:

W tym artykule pokazano, jak korzystać z skryptów BASH do sprawdzenia pliku lub katalogu. Użyliśmy różnych opcji, aby sprawdzić dostępność pliku. Po pierwsze, używamy polecenia „test” z różnymi flagami. Następnie nauczyliśmy się użycia „If”, zagnieżdżonego „IF-Else” i bez oświadczeń „IF” do sprawdzenia pliku lub katalogu. Przeglądaliśmy również, jak sprawdzić wiele plików lub katalogów.