Mis tahes operatsioonisüsteemis olevate failidega töötades on kasutajal kohustuslik testida neid faile teatud aspektide, näiteks nende omandiõiguse, juurdepääsuõiguste, sisu, olemasolu jms osas. Neid aspekte saab välja mõelda, kui seostada lause „kui” Bashi erinevate failitestioperaatoritega. “If -e” ja “if -s” on Bashis sellised operaatorid, mida kasutatakse faili olemasolu testimiseks. Nende kahe erinevus seisneb selles, et esimene testib ainult faili olemasolu, teine aga ka seda, kas selles failis on sisu või mitte. Täna proovime mõista nende kahe operaatori kasutamist koos mõne teise faili testimise operaatoriga Bashis.
Märkus. Failitestioperaatorite kasutamise näitamiseks Bashis oleme kasutanud Linux Mint 20.
Näited failitestioperaatorite kasutamisest Bashis
Failitestioperaatoreid “if -e” ja “if -s” saab kasutada erinevatel viisidel. Nende kasutamise selgitamiseks jagame teiega mõningaid näiteid.
Näide operaatori „if -e” kasutamisest
Operaatori „if -e” kasutamiseks Bashis peate järgima neid samme:
Esiteks oleme loonud tühja tekstifaili nimega Test.txt meie kodukataloogis. Seejärel lõime bashi faili nimega FileTestOperators.sh samas kataloogis. Pärast selle faili loomist sisestasime oma faili järgmisel pildil näidatud skripti. Selles bashi skriptis kuulutas muutuja nimega “file” ja määras sellele meie tekstifaili nimega Test.txt selle väärtusena. Siis on meil lause „if -e”, mis annab tõelise väljundi, kui mõni määratud fail on olemas.
Skripti testimiseks käivitame selle alltoodud käsu abil:
$ bash FileTestOperators.sh
Kuna meie tekstifail oli olemas, on meie skripti väljund tõene, nagu on näidatud järgmisel pildil:
Näide operaatori “if -s” kasutamise kohta
Operaatori „if -s” kasutamiseks Bashis peaksite tegema järgmised toimingud:
Selle näite jaoks on meie bashi skript sama, mida kasutasime eespool. Oleme just muutnud väite „kui-e” väärtuseks „kui -s”. Samuti oleme kasutanud sama tühja tekstifaili Test.txt.
Selle skripti käivitamisel on väljund vale, kuna operaator „if -s” tagastab tõese, kui fail on olemas ja ka siis, kui see pole tühi. Kuna meie juhul, kuigi fail oli olemas, oli see siiski tühi, siis osutus meie väljund valeks, nagu on näidatud järgmisel pildil:
Selle lipu tõeseks muutmiseks kirjutame oma tekstifaili näiva teksti, nagu allpool näidatud:
Seejärel käivitame oma bashi skripti uuesti ja seekord on väljund tõene, nagu on näidatud järgmisel pildil, kuna tekstifailis on praegu teksti.
Näited teiste failitestioperaatorite kasutamisest
Peale operaatorite „if -e” ja „if -s” on ka teisi faili testimise operaatoreid. Allpool jagame teiega mõnda olulisemat failitestioperaatorit peale nende, mida eespool käsitletakse.
Näide operaatori “if -d” kasutamise kohta
Operaatori „if -d” kasutamiseks Bashis peate tegema järgmised toimingud:
Selle näite jaoks on meie bashi skript sama, mida kasutasime eespool. Oleme just muutnud väite „kui -s” väärtuseks „kui -d”. Samuti oleme kasutanud sama tekstifaili Test.txt.
Operaator „if -d” tagastab true, kui teie fail on kataloog, vastasel juhul on see vale. Kuna meie tekstifail ei olnud kataloog, on väljund vale, nagu on näidatud järgmisel pildil:
Näide operaatori „if -h” kasutamisest
Operaatori „if -h” kasutamiseks Bashis peate järgima neid samme:
Selle näite jaoks on meie bashi skript sama, mida kasutasime eespool. Oleme just muutnud lause „kui -d” väärtuseks „kui -h”. Oleme aga seekord testimiseks kasutanud teist faili, mis tegelikult oli sümboolne link nimega NewBash.sh.
Operaator „if -h” tagastab true, kui teie fail on sümboolne link, vastasel juhul on see vale. Kuna meie testfail oli sümboolne link, on väljund tõene, nagu on näidatud järgmisel pildil:
Näide operaatori „if -r” kasutamisest
Operaatori „if -r” kasutamiseks Bashis peate järgima neid samme:
Selle näite jaoks on meie bashi skript sama, mida kasutasime eespool. Oleme just muutnud lause „if -h” väärtuseks „if -r”. Samuti oleme kasutanud sama tekstifaili Test.txt.
Operaatori „if -r” väljund on tõene, kui praegune kasutaja saab faili lugeda, vastasel juhul on see vale. Kuna meie tekstifail oli meie poolt loetav, on väljund tõene, nagu on näidatud järgmisel pildil:
Samamoodi saate operaatorite „if -w” ja „if -x” abil kontrollida, kas fail on vastavalt praegusele omanikule kirjutatav ja käivitatav.
Näide operaatori „if -O” kasutamisest
Operaatori „if -O” kasutamiseks Bashis peaksite tegema järgmised toimingud:
Selle näite jaoks on meie bashi skript sama, mida kasutasime ülal. Oleme just muutnud lause „if -r” väärtuseks „if -O”. Samuti oleme kasutanud sama tekstifaili Test.txt.
Operaatori „if -O” väljund on tõene, kui praegune kasutaja omab faili, vastasel juhul on see vale. Kuna meie tekstifail kuulus meile, on väljund tõene, nagu on näidatud järgmisel pildil:
Järeldus
See artikkel andis lugejale ülevaate Linuxi operatsioonisüsteemi kasutavate Bashi failitestioperaatorite kasutamisest. Neid faili testimisoperaatoreid kasutades on kasutajal failidega töötamine ilma võimalike raskusteta väga mugav. On ka mõnda muud faili testimise operaatorit, mida saab kasutada erinevatel eesmärkidel. Kuid kõige sagedamini kasutatakse neid, mida selles artiklis käsitletakse.