Při práci s Bash a skriptováním prostředí budete možná muset zkontrolovat, zda je adresář nebo soubor ve vašem souborovém systému existuje nebo neexistuje.
Na základě této podmínky můžete skript ukončit nebo například zobrazit varovnou zprávu pro koncového uživatele.
Chcete-li zkontrolovat, zda soubor nebo adresář existuje s Bash, použijete „Bash testy“.
V tomto výukovém programu se naučíte, jak zkontrolovat, zda soubor nebo adresář existuje ve skriptu Bash.
Obsah
Zkontrolovat, zda soubor existuje
Chcete-li zkontrolovat, zda soubor existuje v Bash , musíte použít volbu „-f“ (pro soubor) a určit soubor, který chcete zkontrolovat.
Řekněme například, že chcete zkontrolovat, zda ve vašem souborovém systému existuje soubor „/ etc / passwd“.
Ve skriptu byste napsali následující příkaz, pokud prohlášení.
Zkontrolovat existenci souboru pomocí kratších formulářů
V některých případech by vás mohlo zajímat zkontrolovat, zda soubor existuje nebo ne přímo ve vašem prostředí Bash.
Chcete-li zkontrolovat, zda soubor existuje v Bash pomocí kratších formulářů, zadejte v závorkách možnost „-f“ a přidejte příkaz, který chcete spustit, pokud bude úspěšný.
Chcete-li pomocí dříve použitého příkladu zkontrolovat, zda soubor „/ etc / passwd“ existuje pomocí kratších formulářů, napíšete následující příkaz
Jak tedy tento příkaz funguje?
Kratší formuláře úzce souvisejí se stavem ukončení.
Když spustíte příkaz na Bash, vždy se ukončí se stavem chyby: 0 pro chyby a čísla větší než 0 pro chyby (1, 2 .. 6 atd.)
V tomto případě syntaxe „& &“ zkontroluje, zda je stav opuštění příkazu vlevo rovno nule: v takovém případě provede příkaz vpravo, jinak jej neprovede.
Protip: můžete použijte „echo $ {?}“, abyste viděli stav ukončení posledního spuštění příkazu
Kontrola více souborů
V v některých případech možná budete chtít zkontrolovat, zda ve vašem souborovém systému existuje více souborů.
Chcete-li zkontrolovat, zda v Bash existuje více souborů, použijte příznak „-f“ a určete soubory, které mají být zkontrolovány. oddělené operátorem „& &“.
Zkontrolovat, zda soubor neexistuje
Na druhou stranu možná budete chtít zkontrolovat, zda soubor ve vašem souborovém systému neexistuje.
Chcete-li zkontrolovat, zda soubor neexistuje pomocí Bash musíte použít „!“ symbol následovaný možností „-f“ a souborem, který chcete zkontrolovat.
Podobně můžete použít kratší formuláře, pokud chcete rychle zkontrolovat pokud soubor neexistuje přímo ve vašem terminálu.
Upozorňujeme, že pomocí „||“ je také možné zkontrolovat, zda soubor neexistuje. operátor.
„||“ operátor provede příkaz vpravo, právě když selže příkaz vlevo (tj. ukončí se stavem větším než nula).
Chcete-li otestovat, zda soubor neexistuje, pomocí „||“ operátor, jednoduše zkontrolujte, zda existuje, pomocí příznaku „-f“ a zadejte příkaz, který se má spustit, pokud selže.
Zkontrolovat, zda existuje adresář
Chcete-li zkontrolovat, zda v adresáři Bash existuje adresář, musíte použít volbu „-d“ a zadat název adresáře, který se má zkontrolovat.
Například řekněme, že chcete u Bash zkontrolovat, zda ve vašem systému existuje adresář / etc.
Chcete-li zkontrolovat jeho existenci, napíšete následující skript Bash
Při provádění tohoto skriptu byste získali následující výstup
Zkontrolovat existenci adresáře pomocí kratší formuláře
V některých případech vás možná bude zajímat kontrola, zda adresář existuje nebo není přímo ve vašem prostředí Bash.
Chcete-li zkontrolovat, zda adresář existuje v Bash, použijte kratší formy formulářích, v závorkách zadejte volbu „-d“ a připojte příkaz, který chcete spustit, pokud bude úspěšný.
Řekněme, že chcete zkontrolovat, zda například existuje adresář“ / etc „.
Pomocí kratší syntaxe byste napsali následující příkaz.
Vytvoření úplného skriptu Bash
Pokud zjistíte, že několikrát denně kontrolujete, zda soubor (nebo více) ve vašem souborovém systému existuje či nikoli, může to být užitečné mít skript, který může tento úkol automatizovat.
V této části vytvoříte skript Bash, který může mít více názvů souborů a vrátit se, pokud existují, nebo neexistují.
Pokud tak neučiní, na standardním výstupu se zobrazí jednoduchá oznamovací zpráva.
Vytvořte nový skript Bash a spusťte jej pomocí chmod.
Zde je obsah skriptu, který se má použít k dynamické kontrole, zda existují soubory.
Uložte skript a přidejte složku „bin“, kterou jste právě vytvořili, do své proměnné prostředí PATH.
Nyní, když je skript přístupný, ať jste kdekoli v systému, můžete skript zavolat a spustit kontrolu Pokud soubory existují nebo neexistují.
Úžasné!
Vytvořili jste vlastní soubor, který ověří, zda soubory ve vašem souborovém systému existují nebo ne.
Závěr
V tomto výukovém programu jste se naučili, jak můžete zkontrolovat, zda soubor existuje nebo ne, pomocí testů Bash a krátké syntaxe Bash.
Podobně jste se naučili jak je možné ověřit, zda adresář existuje.
Nakonec jste napsali kompletní skript Bash, který přijímá dynamické argumenty, aby bylo možné zkontrolovat, zda existuje více souborů.
Pokud zajímáte se o programování Bash nebo o správu systému Linux, máme na webu kompletní sekci věnovanou tomuto tématu, takže si to určitě prohlédnout!