BASH programiranje

Kako provjeriti postoji li datoteka u bashu

Kako provjeriti postoji li datoteka u bashu
Postoji nekoliko načina za provjeru dostupnosti datoteke u Linuxu. Naredba "test" u bash skripti jedan je od ključnih pristupa provjeri postojanja datoteke.
Fokus ovog vodiča je raspraviti o postojanju datoteke u vašem sustavu putem bash skriptiranja:

Kako provjeriti postojanje datoteka pomoću bash skriptiranja:

1) Unošenjem naziva datoteke u terminal:

Prvo, moramo stvoriti datoteku bash skripte, upotrijebiti dolje spomenutu naredbu:

$ touch testna datoteka.sh

Naziv datoteke koju sam stvorio je „testfile.sh ",".ekstenzija sh ”označava datoteku skripte ljuske:

Otvorite “testfile.sh ”u bilo kojem uređivaču teksta. Zatim napišite skriptu, spremite je pritiskom na "spremi".

Jedan od načina je pronaći datoteku tako što ćete od korisnika u terminalu zatražiti naziv datoteke.

Koristiti "-f”Kako bi provjerili postojanje datoteke.

Napišite donju skriptu:

#!/ bin / bash
echo "Unesite naziv datoteke"
pročitajte newfile1
if [-f "$ newfile1"]
zatim
echo "Datoteka je pronađena"
drugo
echo "Datoteka nije pronađena"
fi

Vratite se na terminal i pokrenite datoteku za ispis rezultata:

./naziv datoteke.sh

Poruka o odbijenom odobrenju prikazala bi se u terminalu.

Učinite ga izvršnim izvršavanjem dolje navedene naredbe:

$ chmod + x testna datoteka.sh

Unesite naziv datoteke i ona će ispisati izlaz:

2) Upisom naziva datoteke tijekom pisanja skripte:
Drugi način pronalaska datoteke davanjem naziva datoteke tijekom pisanja skripte. Dostupnost datoteke imamo na tri načina. Prva koristi naredbu "test", druga upotrebljava "if" s izrazom u uglastim zagradama, a treća je također s "if", ali dvostrukim uglastim zagradama kako je dolje navedeno:

  1. “Test IZRAŽAVANJE."
  2. "Ako [IZRAŽAVANJE]"
  3. "Ako [[IZRAŽAVANJE]]"

Razumijemo to na primjerima:

1) test [Izraz]
Kopirajte zadanu skriptu i zalijepite je u editor, spremite je:

#!/ bin / bash
ime datoteke = datoteka1
ako je test -f "$ filename";
zatim
echo "$ datoteka je pronađena."
drugo
echo "$ datoteka nije pronađena"
fi

Izlaz:

Budući da u mojem direktoriju nema takve datoteke, kod prikazuje poruku "Datoteka nije pronađena".

2) ako [Izraz]

Kopirajte sljedeću skriptu kako biste provjerili postoji li datoteka ili ne:

#!/ bin / bash
ime datoteke = moja datoteka.txt
if [-f "$ filename"];
zatim
echo "$ filename je pronašao."
drugo
echo "naziv datoteke nije pronađen"
fi

Izlaz:

3) ako [[Izraz]]

Kopirajte dolje napisanu skriptu i zalijepite je na terminal:

#!/ bin / bash
ime datoteke = testna datoteka
ako [[-f "$ filename"]];
zatim
echo "$ filename je pronašao."
drugo
echo "$ filename nije pronađen"
fi

Izlaz:

Da biste provjerili direktorij:

3) Unošenjem naziva direktorija tijekom pisanja skripte

Koristiti "-dZastava za provjeru postojanja direktorija.

U dolje spomenutoj skripti, "dir11" je varijabla u kojoj pohranjujete datoteku koju ste pronašli; u ovom primjeru želim provjeriti postoji li ime direktorija "testDir" ili ne.

#!/ bin / bash
dir11 = testDir
if [-d "$ dir11"]
zatim
echo "Direktorij je pronađen"
drugo
echo "Direktorij nije pronađen"
fi

Izlaz:

2) Unošenjem naziva datoteke u terminal:
Kada pokrenete naredbu u terminalu kako biste provjerili postoji li direktorij ili ne, morate unijeti ime direktorija koje tražite:

#!/ bin / bash
echo "upišite ime svog imenika."
pročitajte Dir1
if [-d "Dir1"]
zatim
echo "direktorij je pronađen"
drugo
echo "direktorij nije pronađen"
fi

Izlaz:

Provjera datoteke bez upotrebe izjave "ako":

Naredba "test" može se izvršiti bez naredbe "if". Prikazat će izlaz samo ako datoteka postoji; inače, ne bi bilo rezultata:

Napišite skriptu:

  1. test -f myfile.txt && echo "datoteka je pronađena"

  2. [-f moja datoteka.txt] && echo "Pronađena je datoteka $."

  3. [[-f moja datoteka.txt]] && echo "Pronađena je datoteka $."

Izlaz:

Provjera direktorija bez korištenja izraza "if":

Upotrijebite dolje navedene izjave da provjerite postoji li direktorij ili ne:

  1. [[-d testDir]] && echo "direktorij postoji"

  2. 2) [-d testDir] && echo "direktorij postoji"

Izlaz:

Provjera više datoteka / direktorija:

1) Provjera više datoteka izjavama "ako":
Upotrijebite zastavicu "-a" da provjerite postojanje različitih datoteka umjesto da koristite ugniježđene izjave "if / else":

#!/ bin / bash
ako je [-f nova_datoteka.txt -a -f nova datoteka.txt]; zatim
echo "Obje datoteke postoje."
fi

Drugi način je:

#!/ bin / bash
ako je [[-f nova_datoteka.txt && -f nova datoteka.txt]]; zatim
echo "Obje datoteke postoje."
fi

Izlaz:

2) Provjera više datoteka bez upotrebe izjave "ako":
Upotrijebite sljedeću izjavu za provjeru više datoteka istodobno 1 bez "ako":

  1. [[-f nova_datoteka.txt && -f nova datoteka.txt]] && echo “Obje datoteke izlaze."

  2. [[-f nova_datoteka.txt && -f nova datoteka.txt]] && echo “Obje datoteke izlaze."

Izlaz:

Zaključak:

Ovaj je članak pokazao kako koristiti bash skripte za provjeru datoteke ili direktorija. Koristili smo različite mogućnosti za provjeru dostupnosti datoteke. Prvo, koristimo naredbu "test" s različitim zastavicama. Tada smo naučili upotrebu "ako", ugniježđeno "ako-drugo" i bez izraza "ako" za provjeru datoteke ili direktorija. Također smo razmotrili kako provjeriti više datoteka ili direktorija.

Kako prikazati brojač FPS-a u Linux igrama
Linux gaming dobio je velik poticaj kada je Valve najavio Linux podršku za Steam klijent i njihove igre 2012. godine. Od tada su mnoge AAA i indie igr...
Kako preuzeti i igrati Sid Meier's Civilization VI na Linuxu
Uvod u igru Civilization 6 moderan je pogled na klasični koncept predstavljen u seriji igara Age of Empires. Ideja je bila prilično jednostavna; započ...
Kako instalirati i igrati Doom na Linuxu
Uvod u Doom Serija Doom nastala je 90-ih nakon izlaska originalnog Dooma. To je bio trenutni hit i od tog vremena nadalje igraća serija dobila je broj...