Programowanie BASH

Jak sprawdzić, czy plik istnieje w bash?

Jak sprawdzić, czy plik istnieje w bash?
Istnieje kilka sposobów sprawdzenia dostępności pliku w systemie Linux. Polecenie „test” w skryptach bash jest jednym z kluczowych podejść do sprawdzania istnienia pliku.
Celem tego przewodnika jest omówienie istnienia pliku w systemie za pomocą skryptów bash:

Jak sprawdzić istnienie pliku za pomocą skryptów bash:

1) Wpisując nazwę pliku w terminalu:

Najpierw musimy stworzyć plik skryptu bash, użyj poniższego polecenia:

$ dotknij plik testowy.cii

Nazwa utworzonego przeze mnie pliku to „testfile.sh”, „.rozszerzenie sh” wskazuje plik skryptu powłoki:

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

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

Posługiwać się "-fa”aby sprawdzić istnienie pliku.

Napisz poniższy skrypt:

#!/bin/bash
echo "Wpisz swoją nazwę pliku"
przeczytaj nowyplik1
if [ -f "$nowyplik1" ]
następnie
echo "Znaleziono plik"
jeszcze
echo "Nie znaleziono pliku"
fi

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

./Nazwa pliku.cii

W terminalu zostanie wyświetlony komunikat o odmowie dostępu.

Spraw, aby był wykonywalny, wykonując poniższe polecenie:

$chmod +x plik testowy.cii

Wprowadź nazwę pliku, a wydrukuje wynik:

2) Wpisując nazwę pliku podczas pisania skryptu:
Inny sposób na znalezienie pliku poprzez podanie nazwy pliku podczas pisania skryptu. Mamy trzy sposoby na sprawdzenie dostępności pliku. Pierwsza używa polecenia „test”, druga używa „if” z wyrażeniem w nawiasach kwadratowych, a trzecia również z „if”, ale podwójnymi nawiasami kwadratowymi, jak wskazano poniżej:

  1. “test WYRAŻENIE.”
  2. „jeśli [ WYRAŻENIE ]”
  3. „jeśli [[ WYRAŻENIE ]]”

Zrozummy to na przykładach:

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

#!/bin/bash
nazwa_pliku=plik1
if test -f "$nazwapliku";
następnie
echo "Znaleziono $plik."
jeszcze
echo "$plik nie został znaleziony"
fi

Wynik:

Ponieważ nie ma takiego pliku w moim katalogu, kod wyświetla komunikat „Nie znaleziono pliku”.

2) jeżeli [ Wyrażenie ]

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

#!/bin/bash
nazwa_pliku=mojplik.tekst
if [ -f "$nazwa pliku" ];
następnie
echo "Znaleziono $nazwa pliku."
jeszcze
echo "nie znaleziono nazwy pliku"
fi

Wynik:

3) jeśli [[ Wyrażenie ]]

Skopiuj poniższy skrypt i wklej go na terminalu:

#!/bin/bash
nazwa_pliku=plik testowy
if [[ -f "$nazwapliku" ]];
następnie
echo "Znaleziono $nazwa pliku."
jeszcze
echo "$nazwa pliku nie została znaleziona"
fi

Wynik:

Aby sprawdzić katalog:

3) Wpisując nazwę katalogu podczas pisania skryptu

Użyj "-re” flaga sprawdzająca istnienie katalogu.

W poniższym skrypcie „dir11” to zmienna, w której przechowujesz plik, który znajdujesz; w tym przykładzie chcę sprawdzić, czy nazwa katalogu „testDir” istnieje, czy nie.

#!/bin/bash
dir11=testDir
if [ -d "$katalog11" ]
następnie
echo "Znaleziono katalog"
jeszcze
echo "Nie znaleziono katalogu"
fi

Wynik:

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

#!/bin/bash
echo "wpisz nazwę katalogu directory."
przeczytaj Katalog1
if [ -d "Katalog1" ]
następnie
echo "znaleziono katalog"
jeszcze
echo "katalog nie został znaleziony"
fi

Wynik:

Sprawdzenie pliku bez użycia instrukcji „if”:

Polecenie „test” można wykonać bez wyrażenia „if””. Wyświetli dane wyjściowe tylko wtedy, gdy plik istnieje; w przeciwnym razie nie byłoby wyjścia:

Napisz skrypt:

  1. test -f mójplik.txt && echo "znaleziono plik"

  2. [ -f mójplik.txt ] && echo "Znaleziono $plik."

  3. [[ -f mójplik.txt ]] && echo "Znaleziono $plik."

Wynik:

Sprawdzenie katalogu bez użycia instrukcji „if”:

Użyj poniższych instrukcji, aby sprawdzić, czy katalog istnieje, czy nie:

  1. [[ -d katalogTest ]] && echo "katalog istnieje"

  2. 2) [ -d katalog testowy ] && echo "katalog istnieje"

Wynik:

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
if [ -f nowy_plik.txt -a -f nowy plik.tekst ]; następnie
echo "Oba pliki istnieją."
fi

Inny sposób to:

#!/bin/bash
if [[ -f nowy_plik.txt && -f nowy plik.tekst ]]; następnie
echo "Oba pliki istnieją."
fi

Wynik:

2) Sprawdzanie wielu plików bez użycia instrukcji „if”:
Użyj poniższej instrukcji, aby sprawdzić wiele plików jednocześnie 1 bez użycia „if”:

  1. [[ -f nowy_plik.txt && -f nowy plik.txt ]] && echo “Oba pliki są zamykane.”

  2. [[ -f nowy_plik.txt && -f nowy plik.txt ]] && echo “Oba pliki są zamykane.”

Wynik:

Wniosek:

W tym artykule pokazano, jak używać skryptów bash do sprawdzania pliku lub katalogu. Wykorzystaliśmy różne opcje, 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 instrukcji „if” do sprawdzenia pliku lub katalogu. Przyjrzeliśmy się również, jak sprawdzić wiele plików lub katalogów.

How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...
Gry Darmowe i otwarte silniki gier do tworzenia gier na Linuksa
Darmowe i otwarte silniki gier do tworzenia gier na Linuksa
Ten artykuł zawiera listę darmowych i otwartych silników gier, których można używać do tworzenia gier 2D i 3D w systemie Linux. Istnieje wiele takich ...
Gry Samouczek Shadow of the Tomb Raider dla systemu Linux
Samouczek Shadow of the Tomb Raider dla systemu Linux
Shadow of the Tomb Raider to dwunasty dodatek do serii Tomb Raider - przygodowej serii gier akcji stworzonej przez Eidos Montreal. Gra została dość do...