BASH programiranje

Bash, če -e in -s ter drugi operaterji preizkusa datotek

Bash, če -e in -s ter drugi operaterji preizkusa datotek

Med delom z datotekami v katerem koli operacijskem sistemu mora uporabnik te datoteke preizkusiti glede določenih vidikov, kot so lastništvo, pravice dostopa, vsebina, obstoj itd. Te vidike lahko ugotovimo med povezovanjem stavka "if" z različnimi operaterji preizkusa datotek v Bashu. "If -e" in "if -s" sta taka operaterja v Bashu, ki se uporabljata za preizkušanje obstoja datoteke. Razlika med obema je v tem, da prva samo preskusi obstoj datoteke, druga pa tudi preveri, ali je v njej kakšna vsebina ali ne. Danes bomo poskušali razumeti uporabo teh dveh operaterjev, skupaj z nekaj drugimi operaterji preizkusa datotek v Bashu.

Opomba: Za prikaz uporabe operaterjev za preizkus datotek v Bashu smo uporabili Linux Mint 20.

Primeri uporabe operatorjev za preizkus datotek v Bashu

Obstajajo različni načini, na katere se lahko uporabljajo operatorji za preizkus datotek "if -e" in "if -s". Za razlago njihove uporabe bomo z vami delili nekaj primerov.

Primer uporabe operaterja “if -e”

Za uporabo operatorja "if -e" v Bashu morate slediti tem korakom:

Najprej smo ustvarili prazno besedilno datoteko z imenom Test.txt v našem domačem imeniku. Nato smo ustvarili bash datoteko z imenom FileTestOperators.sh v istem imeniku. Po ustvarjanju te datoteke smo v našo datoteko vtipkali skript, prikazan na naslednji sliki. V tem bash skriptu je razglasil spremenljivko z imenom "datoteka" in ji dodelil besedilno datoteko z imenom Test.txt kot njegova vrednost. Nato imamo stavek "if -e", ki ustvari "resničen" izhod, če obstaja določena datoteka.

Za preizkus našega skripta ga bomo zagnali z uporabo spodnjega ukaza:

$ bash FileTestOperators.sh

V našem primeru, odkar obstaja besedilna datoteka, bo zato rezultat našega skripta resničen, kot je prikazano na naslednji sliki:

Primer uporabe operaterja "if -s"

Za uporabo operatorja »if -s« v Bashu morate izvesti spodnje korake:

V tem primeru je naš skript bash enak tistemu, ki smo ga uporabili zgoraj. Pravkar smo spremenili stavek "če-e" v "če-e". Uporabili smo tudi isto prazno besedilno datoteko Test.txt.

Zdaj, ko zaženemo ta skript, bo izhod napačen, ker operator "if -s" vrne true, če datoteka obstaja in tudi če ni prazna. Ker je v našem primeru, čeprav je datoteka obstajala, še vedno prazna, zato se je naš izhod izkazal za napačnega, kot je prikazano na naslednji sliki:

Da bo ta zastavica resnična, bomo v besedilno datoteko zapisali nekaj lažnega besedila, kot je prikazano spodaj:

Nato znova zaženemo bash skript in tokrat bo rezultat resničen, kot je prikazano na naslednji sliki, ker je v besedilni datoteki zdaj nekaj besedila.

Primeri uporabe drugih operaterjev za preizkus datotek

Razen operaterjev "if -e" in "if -s" obstajajo tudi drugi operaterji preizkusa datotek. Spodaj bomo z vami delili nekatere najpomembnejše operaterje preskusov datotek, razen tistih, o katerih smo govorili zgoraj.

Primer uporabe operatorja "if -d"

Za uporabo operatorja "if -d" v Bashu morate izvesti spodnje korake:

V tem primeru je naš skript bash enak tistemu, ki smo ga uporabili zgoraj. Pravkar smo spremenili stavek "če -s" v "če-d". Uporabili smo tudi isto besedilno datoteko Test.txt.

Operator “if -d” vrne true, če je vaša datoteka imenik, sicer bo napačna. Ker naša besedilna datoteka ni bila imenik, bo izpis napačen, kot je prikazano na naslednji sliki:

Primer uporabe operatorja “if -h”

Za uporabo operatorja "if -h" v Bashu morate slediti tem korakom:

V tem primeru je naš skript bash enak tistemu, ki smo ga uporabili zgoraj. Pravkar smo spremenili stavek "if -d" v "if -h". Vendar smo tokrat za testiranje uporabili drugo datoteko, ki je bila v resnici simbolična povezava z imenom NewBash.sh.

Operator “if -h” vrne true, če je datoteka simbolična povezava, sicer bo napačna. Ker je bila naša testna datoteka simbolična povezava, bo rezultat resničen, kot je prikazano na naslednji sliki:

Primer uporabe operaterja “if -r”

Za uporabo operatorja "if -r" v Bashu morate slediti tem korakom:

V tem primeru je naš skript bash enak tistemu, ki smo ga uporabili zgoraj. Pravkar smo spremenili stavek "če-h" v "če-r". Uporabili smo tudi isto besedilno datoteko Test.txt.

Izhod operatorja "if -r" bo resničen, če bo trenutni uporabnik lahko prebral datoteko, sicer bo napačna. Ker smo besedilno datoteko lahko brali sami, bo izhod resničen, kot je prikazano na naslednji sliki:

Na enak način lahko z operatorjema »if -w« in »if -x« preverite, ali je trenutni lastnik v datoteko zapisoval in jo izvršil.

Primer uporabe operaterja "if -O"

Za uporabo operatorja "if -O" v Bashu morate izvesti spodnje korake:

V tem primeru je naš skript bash enak tistemu, ki smo ga uporabili zgoraj. Pravkar smo spremenili stavek "if -r" v "if -O". Uporabili smo tudi isto besedilno datoteko Test.txt.

Izhod operatorja "if -O" bo resničen, če je trenutni uporabnik lastnik datoteke, sicer bo napačen. Ker je bila naša besedilna datoteka v naši lasti, bo rezultat resničen, kot je prikazano na naslednji sliki:

Zaključek

Ta članek je bralca seznanil z uporabo različnih operaterjev za preizkus datotek v Bashu z uporabo operacijskega sistema Linux. Z uporabo teh operaterjev za preizkušanje datotek je uporabniku zelo priročno delo z datotekami brez kakršnih koli potencialnih težav. Obstajajo tudi nekateri drugi operatorji za preskušanje datotek, ki jih je mogoče uporabiti za različne namene.

Zaslonska sledilna ploščica in kazalec miške AppyMouse za tablične računalnike Windows
Uporabniki tabličnih računalnikov pogosto zgrešijo miškin kazalec, še posebej kadar običajno uporabljajo prenosne računalnike. Pametni telefoni in tab...
Srednji gumb miške ne deluje v sistemu Windows 10
The srednji gumb miške vam pomaga, da se pomikate po dolgih spletnih straneh in zaslonih z veliko podatkov. Če se to ustavi, boste na koncu uporabili ...
Kako spremeniti levi in ​​desni gumb miške na računalniku z operacijskim sistemom Windows 10
Povsem normalno je, da so vse naprave računalniške miške ergonomsko zasnovane za desničarje. Na voljo pa so miške, ki so posebej zasnovane za levičarj...