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.shNaziv 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 / bashecho "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.shPoruka 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:
- “Test IZRAŽAVANJE."
- "Ako [IZRAŽAVANJE]"
- "Ako [[IZRAŽAVANJE]]"
Razumijemo to na primjerima:
1) test [Izraz]
Kopirajte zadanu skriptu i zalijepite je u editor, spremite je:
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 / bashime 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 / bashime 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 / bashdir11 = 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:
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:
- test -f myfile.txt && echo "datoteka je pronađena"
- [-f moja datoteka.txt] && echo "Pronađena je datoteka $."
- [[-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:
- [[-d testDir]] && echo "direktorij postoji"
- 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":
ako je [-f nova_datoteka.txt -a -f nova datoteka.txt]; zatim
echo "Obje datoteke postoje."
fi
Drugi način je:
#!/ bin / bashako 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":
- [[-f nova_datoteka.txt && -f nova datoteka.txt]] && echo “Obje datoteke izlaze."
- [[-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.