Programovanie v jazyku BASH

Ako skontrolovať, či súbor existuje v bashe

Ako skontrolovať, či súbor existuje v bashe
Existuje niekoľko spôsobov, ako skontrolovať dostupnosť súboru v systéme Linux. Príkaz „test“ v skriptovaní bash je jedným z kľúčových prístupov k kontrole existencie súboru.
Táto príručka sa zameriava na diskusiu o existencii súboru vo vašom systéme prostredníctvom skriptovania bash:

Ako skontrolovať existenciu súboru pomocou skriptu bash:

1) Zadaním názvu súboru v termináli:

Najskôr musíme vytvoriť súbor bash skriptu, ktorý použijeme nižšie uvedený príkaz:

$ dotykový testovací súbor.š

Názov súboru, ktorý som vytvoril, je „testfile.sh “,„.prípona sh označuje súbor skriptu shell:

Otvorte „testovací súbor“.sh “v ľubovoľnom textovom editore. Potom napíšte skript, uložte ho stlačením „uložiť“.

Jedným zo spôsobov je vyhľadanie súboru vyžiadaním názvu súboru od používateľa v termináli.

Použite „-f”Na kontrolu existencie súboru.

Napíšte nasledujúci skript:

#!/ bin / bash
echo "Zadajte názov súboru"
prečítať nový súbor1
if [-f "$ newfile1"]
potom
echo "Súbor sa našiel"
inak
echo "Súbor sa nenašiel"
fi

Vráťte sa do terminálu a spustite súbor na tlačový výstup:

./názov súboru.š

Správa o odmietnutí povolenia by sa zobrazila v termináli.

Spustite ho vykonaním nižšie uvedeného príkazu:

$ chmod + x testovací súbor.š

Zadajte názov súboru a výstup sa vytlačí:

2) Zadaním názvu súboru počas písania skriptu:
Ďalším spôsobom, ako vyhľadať súbor, je pri písaní skriptu jeho názov. Existujú tri spôsoby, ako skontrolovať dostupnosť súboru. Prvý používa príkaz „test“, druhý používa „if“ s výrazom v hranatých zátvorkách a tretí tiež používa „if“, ale dvojité hranaté zátvorky, ako je uvedené nižšie:

  1. „Test VYJADRENIE.“
  2. „If [EXPRESSION]“
  3. „If [[EXPRESSION]]“

Poďme to pochopiť na príkladoch:

1) test [výraz]
Skopírujte daný skript a vložte ho do editora, uložte ho:

#!/ bin / bash
nazov souboru = subor1
ak test -f "$ názov súboru";
potom
echo "$ súbor bol nájdený.„
inak
echo "$ súbor nebol nájdený"
fi

Výkon:

Pretože v mojom adresári žiadny taký súbor nie je, zobrazí sa v kóde správa „Súbor sa nenašiel“.

2) ak [Výraz]

Skopírujte nasledujúci skript a skontrolujte, či súbor existuje alebo nie:

#!/ bin / bash
nazov souboru = mojsoubor.TXT
if [-f "$ názov súboru"];
potom
echo "$ názov súboru bol nájdený.„
inak
echo "názov súboru nebol nájdený"
fi

Výkon:

3) ak [[výraz]]

Skopírujte nižšie napísaný skript a vložte ho do terminálu:

#!/ bin / bash
názov súboru = testovací súbor
if [[-f "$ názov súboru"]];
potom
echo "$ názov súboru bol nájdený.„
inak
echo "$ názov súboru nebol nájdený"
fi

Výkon:

Ak chcete skontrolovať adresár:

3) Zadaním názvu adresára pri písaní skriptu

Použi "-d”Na kontrolu existencie adresára.

V nižšie uvedenom skripte je „dir11“ premenná, do ktorej uložíte súbor, ktorý hľadáte; v tomto príklade chcem skontrolovať, či názov adresára „testDir“ existuje alebo nie.

#!/ bin / bash
dir11 = testDir
ak [-d "$ dir11"]
potom
echo "Adresár bol nájdený"
inak
echo "Adresár sa nenašiel"
fi

Výkon:

2) Zadaním názvu súboru do terminálu:
Keď spustíte príkaz v termináli a skontrolujete, či adresár existuje alebo nie, je potrebné zadať hľadaný názov adresára:

#!/ bin / bash
echo "zadajte názov svojho adresára.„
prečítaj Dir1
if [-d "Dir1"]
potom
echo "adresár bol nájdený"
inak
echo "adresár sa nenašiel"
fi

Výkon:

Kontrola súboru bez použitia príkazu „if“:

Príkaz „test“ je možné vykonať bez príkazu „if“. Výstup sa zobrazí, iba ak súbor existuje; inak by neexistoval žiadny výstup:

Napísať skript:

  1. test -f myfile.txt && echo "súbor bol nájdený"

  2. [-f môj súbor.txt] && echo "$ súbor bol nájdený.„

  3. [[-f môj súbor.txt]] && echo "$ súbor bol nájdený.„

Výkon:

Kontrola adresára bez použitia príkazu „if“:

Pomocou nižšie uvedených príkazov skontrolujte, či adresár existuje alebo nie:

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

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

Výkon:

Kontrola viacerých súborov / adresárov:

1) Kontrola viacerých súborov pomocou príkazov „if“:
Pomocou príznaku „-a“ môžete namiesto vnorených príkazov „if / else“ skontrolovať existenciu rôznych súborov:

#!/ bin / bash
ak [-f nový_súbor.txt -a -f nový súbor.TXT ]; potom
"Oba súbory existujú.„
fi

Ďalším spôsobom je:

#!/ bin / bash
ak [[-f nový_súbor.txt && -f nový súbor.TXT ]]; potom
"Oba súbory existujú.„
fi

Výkon:

2) Kontrola viacerých súborov bez použitia príkazu „if“:
Pomocou nasledujúceho príkazu môžete skontrolovať viac súborov súčasne 1 bez použitia „if“:

  1. [[-f nový_súbor.txt && -f nový súbor.txt]] && echo „Oba súbory sú ukončené.“

  2. [[-f nový_súbor.txt && -f nový súbor.txt]] && echo „Oba súbory sú ukončené.“

Výkon:

Záver:

Tento článok ukázal, ako používať skriptovanie bash na kontrolu súboru alebo adresára. Na kontrolu dostupnosti súboru sme použili rôzne možnosti. Najprv použijeme príkaz „test“ s rôznymi príznakmi. Potom sme sa naučili použitie „if“, vnorených „if-else“ a bez príkazov „if“ na kontrolu súboru alebo adresára. Pozreli sme sa tiež na to, ako skontrolovať viac súborov alebo adresárov.

Ovládajte a spravujte pohyb myši medzi viacerými monitormi v systéme Windows 10
Správca myši s duálnym displejom umožňuje ovládať a konfigurovať pohyb myši medzi viacerými monitormi spomalením jeho pohybu blízko hranice. Windows 1...
WinMouse vám umožňuje prispôsobiť a vylepšiť pohyb ukazovateľa myši na počítači so systémom Windows
Ak chcete vylepšiť predvolené funkcie kurzora myši, použite freeware WinMouse. Pridáva ďalšie funkcie, ktoré vám pomôžu vyťažiť zo svojej skromnej myš...
Tlačidlo ľavého kliknutia myši nefunguje v systéme Windows 10
Ak používate samostatnú myš s prenosným počítačom alebo stolovým počítačom, ale nefunguje ľavé tlačidlo myši vo Windows 10/8/7 z nejakého dôvodu uvádz...