Kaip patikrinti, ar failas yra „bash“

How Check If File Exists Bash



Yra keli būdai patikrinti failo prieinamumą „Linux“. „Bash“ scenarijaus bandymo komanda yra vienas iš pagrindinių būdų patikrinti failo egzistavimą.
Šio vadovo tikslas - aptarti failo egzistavimą jūsų sistemoje naudojant „bash“ scenarijų:

Kaip patikrinti failo egzistavimą naudojant „bash“ scenarijų:

1) Įvesdami failo pavadinimą terminale:







Pirma, turime sukurti „bash“ scenarijaus failą, naudokite toliau nurodytą komandą:



$paliestitestfile.sh

Mano sukurto failo pavadinimas yra testfile.sh, plėtinys .sh nurodo apvalkalo scenarijaus failą:







Atidarykite testfile.sh bet kuriame teksto redaktoriuje. Tada parašykite scenarijų, išsaugokite jį paspausdami įrašyti.

Vienas iš būdų yra rasti failą, paprašius terminalo vartotojo failo pavadinimo.



Naudoti -f patikrinti failo egzistavimą.

Parašykite žemiau esantį scenarijų:

#!/bin/bash
išmetė „Įveskite savo failo pavadinimą“
skaitytinaujas failas1
jei [ -f '$ newfile1' ]
tada
išmetė „Failas rastas“
Kitas
išmetė „Failas nerastas“
būti

Grįžkite į terminalą ir paleiskite failą, kad galėtumėte spausdinti:

./failo pavadinimas.sh

Terminale bus rodomas pranešimas apie atsisakymą leisti.

Padarykite jį vykdomu vykdydami toliau nurodytą komandą:

$chmod+ x testfile.sh

Įveskite failo pavadinimą ir jis atspausdins išvestį:

2) Įvesdami failo pavadinimą rašydami scenarijų:
Kitas būdas rasti failą, nurodant failo pavadinimą rašant scenarijų. Turime tris būdus, kaip patikrinti failo prieinamumą. Pirmasis naudoja bandymo komandą, antrasis - jei yra išraiška laužtiniuose skliaustuose, o trečiasis taip pat yra su jei, bet dvigubais skliaustais, kaip nurodyta toliau:

  1. testas EXPRESSION.
  2. jei [EXPRESSION]
  3. jei [[IŠRAIŠKA]]

Supraskime tai pavyzdžiais:

1) testas [išraiška]
Nukopijuokite pateiktą scenarijų ir įklijuokite jį į redaktorių, išsaugokite:

#!/bin/bash
failo pavadinimas= failas1
jei testas -f '$ failo pavadinimas';
tada
išmetė '$ failasrado.'
Kitas
išmetė '$ failasnerastas '
būti

Išėjimas:

Kadangi mano kataloge nėra tokio failo, kodas parodo pranešimą „Failas nerastas“.

2) jei [Išraiška]

Nukopijuokite šį scenarijų, kad patikrintumėte, ar failas yra, ar ne:

#!/bin/bash
failo pavadinimas= mano failas.txt
jei [ -f '$ failo pavadinimas' ];
tada
išmetė '$ failo pavadinimasrado.'
Kitas
išmetė „failo pavadinimas nerastas“
būti

Išėjimas:

3) jei [[išraiška]]

Nukopijuokite žemiau parašytą scenarijų ir įklijuokite jį į terminalą:

#!/bin/bash
failo pavadinimas= bandomasis failas
jei [[ -f '$ failo pavadinimas' ]];
tada
išmetė '$ failo pavadinimasrado.'
Kitas
išmetė '$ failo pavadinimasnerastas '
būti

Išėjimas:

Norėdami patikrinti katalogą:

3) Įvesdami katalogo pavadinimą rašydami scenarijų

Naudoti -d vėliavą, kad patikrintumėte katalogo egzistavimą.

Žemiau minėtame scenarijuje dir11 yra kintamasis, kuriame saugote rastą failą; šiame pavyzdyje noriu patikrinti katalogo pavadinimą testDir egzistuoja ar ne.

#!/bin/bash
dir11= testDir
jei [ -d '$ 11 dir' ]
tada
išmetė „Katalogas rado“
Kitas
išmetė „Katalogas nerastas“
būti

Išėjimas:

2) Įvesdami failo pavadinimą terminale:
Kai vykdote komandą terminale, kad patikrintumėte, ar katalogas egzistuoja, ar ne, turite įvesti ieškomo katalogo pavadinimą:

#!/bin/bash
išmetė „įveskite savo katalogo pavadinimą“.
skaitytiRež. 1
jei [ -d „Dir1“ ]
tada
išmetė 'katalogas rastas'
Kitas
išmetė 'katalogas nerastas'
būti

Išėjimas:

Failo tikrinimas nenaudojant teiginio if:

Bandymo komandą galima vykdyti be teiginio if. Jis rodys tik išvestį, jei failas yra; kitaip nebūtų išvesties:

Rašyti scenarijų:

  1. testas -fmyfile.txt&& išmetė „failas rastas“

  2. [ -fmyfile.txt] && išmetė '$ failasbuvo rastas.'

  3. [[ -fmyfile.txt]] && išmetė '$ failasbuvo rastas.'

Išėjimas:

Katalogo tikrinimas nenaudojant if:

Norėdami patikrinti, ar katalogas yra, ar ne, naudokite toliau nurodytus teiginius:

  1. [[ -dtestDir]] && išmetė katalogas egzistuoja

  2. 2) [ -dtestDir] && išmetė katalogas egzistuoja

Išėjimas:

Kelių failų/katalogų tikrinimas:

1) Kelių failų tikrinimas naudojant teiginius:
Naudokite vėliavą -a, norėdami patikrinti įvairių failų buvimą, o ne naudoti įdėtus if/else teiginius:

#!/bin/bash
jei [ -fnew_file.txt -fnewfile.txt];tada
išmetė „Abu failai egzistuoja“.
būti

Kitas būdas yra:

#!/bin/bash
jei [[ -fnew_file.txt&& -fnewfile.txt]];tada
išmetė „Abu failai egzistuoja“.
būti

Išėjimas:

2] Kelių failų tikrinimas nenaudojant if:
Naudokite šį teiginį, kad patikrintumėte kelis failus vienu metu 1 nenaudodami, jei:

  1. [[ -fnew_file.txt&& -fnewfile.txt]] && išmetėAbu failai išeina.

  2. [[ -fnew_file.txt&& -fnewfile.txt]] && išmetėAbu failai išeina.

Išėjimas:

Išvada:

Šiame straipsnyje buvo parodyta, kaip naudojant „bash“ scenarijų patikrinti failą ar katalogą. Norėdami patikrinti failo prieinamumą, naudojome skirtingas parinktis. Pirma, mes naudojame bandymo komandą su skirtingomis vėliavomis. Tada mes išmokome naudoti „if“, „nested if-else“ ir be „if“ teiginių, kad būtų galima patikrinti failą ar katalogą. Mes taip pat apžvelgėme, kaip patikrinti kelis failus ar katalogus.