Programování BASH

Jak zkontrolovat, zda soubor existuje v bash

Jak zkontrolovat, zda soubor existuje v bash
Existuje několik způsobů, jak zkontrolovat dostupnost souboru v systému Linux. Příkaz „test“ v skriptu bash je jedním z klíčových přístupů ke kontrole existence souboru.
Cílem této příručky je diskutovat o existenci souboru ve vašem systému pomocí skriptu bash:

Jak zkontrolovat existenci souboru pomocí skriptu bash:

1) Zadáním názvu souboru v terminálu:

Nejprve musíme vytvořit soubor skriptu bash, použijte níže uvedený příkaz:

$ dotykový testovací soubor.sh

Název souboru, který jsem vytvořil, je „testfile.sh “,„.Přípona sh označuje soubor skriptu shellu:

Otevřete „testovací soubor.sh “v libovolném textovém editoru. Poté napište skript, uložte jej stisknutím „uložit“.

Jedním ze způsobů je najít soubor vyžádáním názvu souboru od uživatele v terminálu.

Použijte „-F„Zkontrolovat existenci souboru.

Napište následující skript:

#!/ bin / bash
echo "Zadejte svůj název souboru"
číst novýsoubor1
pokud [-f "$ newfile1"]
pak
echo "Soubor je nalezen"
jiný
echo "Soubor nebyl nalezen"
fi

Vraťte se do terminálu a spusťte soubor pro tiskový výstup:

./název souboru.sh

Zpráva o odepření povolení by se zobrazila v terminálu.

Udělejte to spustitelným spuštěním níže uvedeného příkazu:

$ chmod + x testovací soubor.sh

Zadejte název souboru a vytiskne výstup:

2) Zadáním názvu souboru při psaní skriptu:
Další způsob, jak najít soubor zadáním názvu souboru při psaní skriptu. Máme tři způsoby, jak zkontrolovat dostupnost souboru. První používá příkaz „test“, druhý používá „if“ s výrazem v hranatých závorkách a třetí také „if“, ale dvojité hranaté závorky, jak je uvedeno níže:

  1. „Test VYJÁDŘENÍ.“
  2. „If [EXPRESSION]“
  3. „If [[EXPRESSION]]“

Pochopme to na příkladech:

1) test [výraz]
Zkopírujte daný skript a vložte jej do editoru, uložte jej:

#!/ bin / bash
název souboru = soubor1
pokud test -f "$ název souboru";
pak
echo "$ soubor byl nalezen."
jiný
echo "$ soubor nebyl nalezen"
fi

Výstup:

Protože v mém adresáři není žádný takový soubor, zobrazí se v kódu zpráva „Soubor nebyl nalezen“.

2) pokud [výraz]

Zkopírujte následující skript a zkontrolujte, zda soubor existuje nebo ne:

#!/ bin / bash
název_souboru = můjsoubor.txt
if [-f "$ název souboru"];
pak
echo "$ název souboru byl nalezen."
jiný
echo "název souboru nebyl nalezen"
fi

Výstup:

3) pokud [[Výraz]]

Zkopírujte níže napsaný skript a vložte jej do terminálu:

#!/ bin / bash
název souboru = testovací soubor
if [[-f "$ název souboru"]];
pak
echo "$ název souboru byl nalezen."
jiný
echo "$ název souboru nebyl nalezen"
fi

Výstup:

Kontrola adresáře:

3) Zadáním názvu adresáře při psaní skriptu

Použijte „-d”Příznak ke kontrole existence adresáře.

V níže uvedeném skriptu je „dir11“ proměnná, do které uložíte soubor, který hledáte; v tomto příkladu chci zkontrolovat, zda název adresáře „testDir“ existuje nebo ne.

#!/ bin / bash
dir11 = testDir
pokud [-d "$ dir11"]
pak
echo "Adresář byl nalezen"
jiný
echo "Adresář nebyl nalezen"
fi

Výstup:

2) Zadáním názvu souboru v terminálu:
Když spustíte příkaz v terminálu a zkontrolujete, zda adresář existuje nebo ne, musíte zadat název adresáře, který hledáte:

#!/ bin / bash
echo "zadejte název svého adresáře."
přečíst Dir1
if [-d "Dir1"]
pak
echo "adresář byl nalezen"
jiný
echo "adresář nebyl nalezen"
fi

Výstup:

Kontrola souboru bez použití příkazu „if“:

Příkaz „test“ lze provést bez příkazu „if“. Zobrazí pouze výstup, pokud soubor existuje; jinak by nebyl žádný výstup:

Napsat skript:

  1. test -f můjsoubor.txt && echo "soubor byl nalezen"

  2. [-f můjsoubor.txt] && echo "$ soubor byl nalezen."

  3. [[-f můjsoubor.txt]] && echo "$ soubor byl nalezen."

Výstup:

Kontrola adresáře bez použití příkazu „if“:

Pomocí níže uvedených příkazů zkontrolujte, zda adresář existuje nebo ne:

  1. [[-d testDir]] && echo "adresář existuje"

  2. 2) [-d testDir] && echo "adresář existuje"

Výstup:

Kontrola více souborů / adresářů:

1) Kontrola více souborů pomocí příkazů „if“:
Místo použití vnořených příkazů „if / else“ použijte příznak „-a“ ke kontrole existence různých souborů:

#!/ bin / bash
pokud [-f nový_soubor.txt -a -f novýsoubor.txt]; pak
"Oba soubory existují."
fi

Další způsob je:

#!/ bin / bash
pokud [[-f nový_soubor.txt && -f novýsoubor.txt]]; pak
"Oba soubory existují."
fi

Výstup:

2) Kontrola více souborů bez použití příkazu „if“:
Pomocí následujícího příkazu můžete zkontrolovat více souborů současně 1 bez použití „if“:

  1. [[-f nový_soubor.txt && -f novýsoubor.txt]] && echo „Oba soubory jsou ukončeny.“

  2. [[-f nový_soubor.txt && -f novýsoubor.txt]] && echo „Oba soubory jsou ukončeny.“

Výstup:

Závěr:

Tento článek ukázal, jak používat skriptování bash ke kontrole souboru nebo adresáře. K ověření dostupnosti souboru jsme použili různé možnosti. Nejprve použijeme příkaz „test“ s různými příznaky. Poté jsme se naučili používat „if“, vnořené „if-else“ a bez příkazů „if“ ke kontrole souboru nebo adresáře. Podívali jsme se také na to, jak zkontrolovat více souborů nebo adresářů.

WinMouse vám umožňuje přizpůsobit a vylepšit pohyb ukazatele myši na PC s Windows
Chcete-li vylepšit výchozí funkce ukazatele myši, použijte freeware WinMouse. Přidává další funkce, které vám pomohou vytěžit ze své skromné ​​myši ma...
V systému Windows 10 nefunguje levé tlačítko myši
Pokud používáte speciální myš s notebookem nebo stolním počítačem, ale levé tlačítko myši nefunguje ve Windows 10/8/7 z nějakého důvodu uvádíme několi...
Kurzor při psaní v systému Windows 10 skáče nebo se pohybuje náhodně
Pokud zjistíte, že kurzor myši skáče nebo se pohybuje sám, automaticky, náhodně při psaní v notebooku nebo počítači se systémem Windows, pak vám někte...