BASH programiranje

Bash ako -e i -s i drugi operateri ispitivanja datoteka

Bash ako -e i -s i drugi operateri ispitivanja datoteka

Tijekom rada s datotekama u bilo kojem operacijskom sustavu, korisnik je obvezan testirati te datoteke na određene aspekte kao što su njihovo vlasništvo, prava pristupa, sadržaj, postojanje itd. Ti se aspekti mogu dokučiti prilikom spajanja izjave "ako" s raznim operatorima za testiranje datoteka u Bashu. "If -e" i "if -s" su takvi operatori u Bashu, koji se koriste za testiranje postojanja datoteke. Razlika između njih dvije je u tome što prva testira samo postojanje datoteke, dok druga također provjerava ima li u njoj neke sadržaje ili ne. Danas ćemo pokušati razumjeti upotrebu ova dva operatora, zajedno s nekoliko drugih operatora za testiranje datoteka u Bashu.

Napomena: Da bismo demonstrirali upotrebu operatora za testiranje datoteka u Bashu, koristili smo Linux Mint 20.

Primjeri upotrebe operatora za testiranje datoteka u Bashu

Postoje različiti načini na koje se mogu koristiti operateri za testiranje datoteka "if -e" i "if -s". Da bismo objasnili njihovu upotrebu, podijelit ćemo s vama nekoliko primjera.

Primjer upotrebe operatora “if -e”

Da biste koristili operator "if -e" u Bashu, morate slijediti ove korake:

Prvo smo stvorili praznu tekstualnu datoteku nazvanu Test.txt u našem početnom direktoriju. Tada smo stvorili bash datoteku koja se zove FileTestOperators.sh u istom direktoriju. Nakon stvaranja ove datoteke, u našu smo datoteku upisali skriptu prikazanu na sljedećoj slici. U ovoj bash skripti proglasio je varijablu nazvanu "datoteka" i dodijelio joj našu tekstualnu datoteku nazvanu Test.txt kao vrijednost. Tada imamo izraz "if -e", koji daje "true" izlaz ako postoji navedena datoteka.

Za testiranje naše skripte pokrenut ćemo je pomoću naredbe navedene u nastavku:

$ bash FileTestOperators.sh

U našem slučaju, otkad postoji tekstualna datoteka, zato će izlaz naše skripte biti istinit, kao što je prikazano na sljedećoj slici:

Primjer upotrebe operatora “if -s”

Za upotrebu operatora "if -s" u Bashu, trebali biste izvršiti korake navedene u nastavku:

U ovom je primjeru naša bash skripta ista kao što smo koristili gore. Upravo smo promijenili izjavu "ako-e" u "ako-e". Također, koristili smo istu praznu tekstualnu datoteku Test.txt.

Sada, kada pokrenemo ovu skriptu, izlaz će biti lažan jer operator "if -s" vraća true ako datoteka postoji, a također ako nije prazna. Budući da je u našem slučaju, iako je datoteka postojala, i dalje bila prazna, zato se pokazalo da je naš izlaz netačan kao što je prikazano na sljedećoj slici:

Da bi ova zastava bila istinita, napisat ćemo lažni tekst u našu tekstualnu datoteku, kao što je prikazano dolje:

Zatim ponovno pokrećemo našu bash skriptu i ovaj put će izlaz biti istinit, kao što je prikazano na sljedećoj slici, jer tekstualna datoteka sad ima malo teksta.

Primjeri korištenja ostalih operatora za testiranje datoteka

Osim operatora "if -e" i "if -s", postoje i drugi operateri za testiranje datoteka. U nastavku ćemo podijeliti s vama neke od najvažnijih operatora za testiranje datoteka, osim onih o kojima smo gore govorili.

Primjer upotrebe operatora “if -d”

Za upotrebu operatora "if -d" u Bashu, trebali biste izvršiti korake navedene u nastavku:

U ovom je primjeru naša bash skripta ista kao što smo koristili gore. Upravo smo promijenili izjavu "ako -s" u "ako-d". Također, koristili smo istu tekstualnu datoteku Test.txt.

Operator "if -d" vraća true ako je datoteka direktorij, u suprotnom će biti lažna. Budući da naša tekstualna datoteka nije direktorij, izlaz će biti lažan, kao što je prikazano na sljedećoj slici:

Primjer upotrebe operatora "if -h"

Da biste koristili operator "if -h" u Bashu, morate slijediti ove korake:

U ovom je primjeru naša bash skripta ista kao što smo koristili gore. Upravo smo promijenili izraz "ako -d" u "ako-h". Međutim, za testiranje smo ovaj put koristili drugu datoteku, koja je zapravo bila simbolična poveznica nazvana NewBash.sh.

Operator "if -h" vraća true ako je datoteka simbolična veza, u suprotnom će biti lažna. Budući da je naša testna datoteka bila simbolična veza, stoga će izlaz biti istinit, kao što je prikazano na sljedećoj slici:

Primjer upotrebe operatora “if -r”

Da biste koristili operator "if -r" u Bashu, morate slijediti ove korake:

U ovom je primjeru naša bash skripta ista kao što smo koristili gore. Upravo smo promijenili izjavu "ako-h" u "ako-r". Također, koristili smo istu tekstualnu datoteku Test.txt.

Izlaz operatora "if -r" bit će istinit ako trenutni korisnik može pročitati datoteku, u suprotnom će biti lažan. Budući da smo našu tekstualnu datoteku mogli čitati, izlaz će biti istinit, kao što je prikazano na sljedećoj slici:

Na isti način možete koristiti operatore "if -w" i "if -x" da provjerite je li trenutni vlasnik zapisljiv i izvršljiv u datoteku.

Primjer upotrebe operatora “if -O”

Za upotrebu operatora "if -O" u Bashu, trebali biste izvršiti korake navedene u nastavku:

U ovom je primjeru naša bash skripta ista kao što smo koristili gore. Upravo smo promijenili izraz "ako-r" u "ako-O". Također, koristili smo istu tekstualnu datoteku Test.txt.

Izlaz operatora "if -O" bit će istinit ako je trenutni korisnik vlasnik datoteke, inače će biti lažan. Budući da smo našu tekstualnu datoteku bili u našem vlasništvu, izlaz će biti istinit kao što je prikazano na sljedećoj slici:

Zaključak

Ovaj je članak čitatelja informirao o upotrebi različitih operatora za testiranje datoteka u Bashu koji koriste Linux operativni sustav. Korištenjem ovih operatora za testiranje datoteka, korisniku postaje vrlo povoljno raditi s datotekama bez ikakvih potencijalnih poteškoća. Postoje i neki drugi operateri za testiranje datoteka, koji se mogu koristiti u različite svrhe. Međutim, oni o kojima se govori u ovom članku najčešće se koriste.

Kako prikazati OSD prekrivač u aplikacijama i igrama na cijelom zaslonu za Linux
Igranje igara preko cijelog zaslona ili upotreba aplikacija u režimu preko cijelog zaslona bez ometanja može vas odsjeći od relevantnih informacija o ...
Top 5 karata za hvatanje igara
Svi smo vidjeli i voljeli streaming reprodukcije na YouTubeu. PewDiePie, Jakesepticye i Markiplier samo su neki od najboljih igrača koji su zaradili m...
Kako razviti igru ​​na Linuxu
Prije deset godina malo je Linux korisnika predviđalo da će njihov omiljeni operativni sustav jednog dana biti popularna platforma za igranje komercij...