Bash Zkontrolovat, zda soubor existuje

Pracujete s shell skriptováním a Bash? Tento článek je pro vás. V určitém okamžiku své práce budete muset zkontrolovat systém souborů. Je váš adresář stále tam? Nejste si jisti, zda váš soubor již existuje? To jsou dvě základní otázky, které byste měli vědět.

Jak víte, zda váš adresář nebo soubor existuje s Bash? Odpověď je jednoduchá, proveďte „Bash test“. Dnes vás naučíme, jak to udělat. Na konci tohoto článku byste měli sami zkontrolovat, zda ve vašem skriptu Bash stále existuje soubor nebo adresář.

Vyzkoušejte, zda existuje běžný soubor

První obavou, kterou byste měli vyřešit, je, zda váš běžný soubor nebo adresář ve skriptu Bash stále existuje. Chcete-li odpovědět na tuto otázku, musíte provést testovací příkaz.

Chcete-li zkontrolovat, zda váš soubor existuje, budete muset použít „-f ”Možnost souboru. Určitě označte, který soubor se snažíte vyhledat.

Jako soubor použijeme „/ user / commrev“ příklad v celém článku.

Takže se například snažíte otestovat, zda soubor „/ user / commrev“ existuje. Ve svém bash skriptu si jej budete muset zapsat jako:

if ].

Pokud soubor existuje, měl by se zobrazit následující příkazový řádek, který by měl být:

else echo "<file> exists on your file system."

Pomocí krátkých výrazů

Můžete také přímo otestujte svůj bash shell pomocí a existujících krátkých termínů. Použijte stejnou možnost symbolického odkazu „-f“ a zadejte příkaz, který chcete spustit. Budete tedy muset otevřít svůj testovací příkaz a napsat následující příkaz jako

if ] && echo "This file exists!"

Kontrola, zda existuje více než jeden soubor

Chcete-li zkontrolovat, zda existuje více než jeden soubor, můžete Stále to udělejte. Podobně jako ve výše uvedených situacích použijte „-f“ a vyzkoušejte, zda tam stále existuje soubor, který se pokoušíte najít. Oddělte soubory pomocí operátoru „& &“.

Chcete například otestovat, zda 1 soubor 1 a 2 existuje. Do testovacího příkazu jej můžete zadat následujícím způsobem:

if ] && ] thenecho "file exists!" fi.

Snadné! Nezapomeňte si zapamatovat příkaz „-f“ a název souboru, který hledáte.

Zkontrolujte, zda soubor neexistuje

Další, který hledáte Musím se naučit, je zkontrolovat, zda soubor již neexistuje. Tento příkaz se snadno učí a pamatuje si.

Pomocí skriptu Bash použijte znak „!“ symbol a následujte jej pomocí volby „-f“ a souboru, který se pokoušíte zkontrolovat.

Například:

if ] then echo "<file> does not exist on your file system. "

Můžete také použít kratší formuláře, podobné výše uvedenému příkladu. Budete moci rychle otestovat, zda soubor ve vašem terminálu existuje či nikoli. Můžete jej tedy napsat na testovací příkaz jako

] && echo "This file does not exist!" && echo "File does not exist!"

Alternativně můžete také použít „| | Operátor. Provede pravý příkaz v případě, že levý příkaz selže. Můžete jej zadat následujícím způsobem,

] | | echo "File does not exist!"

Snadné! Budete moci zkontrolovat, zda soubor existuje v Bash, nebo ne!

Zkontrolujte, zda existuje adresář

Jak zjistíte, zda vaše adresáře v Bash stále existují? Musíte použít a zapamatovat si možnost příkazu symbolického odkazu „-d“. Postupujte podle tohoto příkazu v adresáři, který se snažíte vyhledat.

if ]thenecho " FILE DIRECTORY exist ." fi

Pro ilustraci chcete v Bash otestovat, zda / user / commrev v adresáři stále existuje. Vypadá to asi takto:

#!/bin/bash if ] thenecho "/user/commrev exists on your file system."

Když tento příkaz napíšete na Bash, výstup by měl vypadat nějak takto $ / etc. Ve vašem systému souborů existuje.

Použití krátkých termíny

Podobně jako v případě, že můžete použít krátké výrazy k otestování, zda v Bash existuje soubor, můžete to samé udělat i pro adresář. V prostředí bash můžete pomocí krátkých výrazů zkontrolovat, zda adresář stále existuje.

Chcete-li jej otestovat, použijete volbu „-d“. Ujistěte se, že jste jej vložili do závorek a pokračujte příkazem, který chcete spustit. Mělo by to vypadat asi takto:

] && echo "FILE directory exists!" && echo "This FILE directory exists!"

Chcete otestovat a zkontrolovat, zda ve vašem adresáři existuje / user / commrev. Můžete použít krátkodobý termín a zadejte jej jako

" && echo "This directory exists!"

Jak vytvořit skript Bash

Pamatovat si všechny tyto příkazy a možnosti může být pro některé náročné, zvláště pokud jste typem osoby, která několikrát kontroluje, zda v systému existuje určitý soubor nebo zda stále existuje adresář. . Může být užitečné, když se naučíte, jak vytvořit skript, který za vás může udělat úkol automaticky!

Naučíme vás, jak vytvořit skript bash, který dokáže zkontrolovat více názvů souborů.Už nebudete muset psát příkaz.

Pomocí chmod můžete snadno vytvořit nový bash skript a spustit jej. Bude to vypadat asi takto:

$ mkdir -p ~/bin $ cd ~/bin && touch check_file && chmod u+x check_file && vi check_file

Pokud začínáte kontrolovat, zda váš soubor existuje, bude obsah skriptu vypadat takto:

Než ukončíte Bash, nezapomeňte skript uložit. Přidejte složku „bin“ a přidejte ji do prostředí PATH. Bude vypadat asi takto:

$ export PATH="~/bin:$PATH" $ printrev PATH ~/bin: /usr/local/sbin: /usr/local/bin: /usr/sbin: /usr/bin: /sbin: /bin

Máte k němu přístup kdekoli v systému! Můžete dokonce vytáhnout skript a zkontrolovat, zda váš soubor existuje nebo ne. Hotovo! Není nutné otevírat testovací příkaz.

Konečné Slova

Dnes jste se naučili, jak zkontrolovat a otestovat, zda váš soubor ve vašem Bash existuje nebo ne!

Pomocí testu bash a testu bash shellu, zkrátka, být schopni je najít! Najděte soubor nebo dva najednou! Také jste se naučili, jak otestovat, zda adresář stále existuje!

A nakonec jsme vás naučili, jak vám trochu zlepšit život. Naučili jsme vás, jak napsat kompletní bash skript a zkontrolovat, zda soubor existuje několikrát současně.

Vyhráli jste Při hledání souboru se nemusíte trápit! Můžete počkat, až program spustí váš souborový systém a dá vám zpětnou vazbu, zda ile neexistuje nebo neexistuje.

Ať už se pokoušíte zkontrolovat, zda soubor nebo adresář existuje, doufáme, že jsme vám pomohli!

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *