BASH-ohjelmointi

Bash jos -e ja -s ja muut tiedostotestioperaattorit

Bash jos -e ja -s ja muut tiedostotestioperaattorit

Työskennellessään minkä tahansa käyttöjärjestelmän tiedostojen kanssa, käyttäjän on pakko testata tiedostoja tiettyjen näkökohtien, kuten niiden omistusoikeuden, käyttöoikeuksien, sisällön, olemassaolon jne. Nämä näkökohdat voidaan selvittää yhdistämällä ”if” -lauseke Bashin eri tiedostotestioperaattoreihin. ”If -e” ja “if -s” ovat sellaisia ​​operaattoreita Bashissa, joita käytetään tiedoston olemassaolon testaamiseen. Ero näiden kahden välillä on se, että edellinen testaa vain tiedoston olemassaolon, kun taas jälkimmäinen tarkistaa myös, onko tiedostossa sisältöä vai ei. Yritämme tänään ymmärtää näiden kahden operaattorin sekä muutamien muiden Bashissa olevien tiedostotestioperaattoreiden käytön.

Huomautus: Tiedostotestioperaattoreiden käytön osoittamiseksi Bashissa olemme käyttäneet Linux Mint 20: tä.

Esimerkkejä tiedostotestioperaattoreiden käytöstä Bashissa

Tiedostotestioperaattoreita "if -e" ja "if -s" voidaan käyttää eri tavoin. Selitämme niiden käyttöä jakamalla esimerkkejä kanssasi.

Esimerkki ”if -e” -operaattorin käytöstä

Jos käytät “if -e” -operaattoria Bashissa, sinun on noudatettava näitä vaiheita:

Ensinnäkin olemme luoneet tyhjän tekstitiedoston nimeltä Test.txt kotihakemistossamme. Sitten loimme bash-tiedoston nimeltä FileTestOperators.sh samassa hakemistossa. Tämän tiedoston luomisen jälkeen kirjoitimme skriptin, joka näkyy seuraavassa kuvassa tiedostossamme. Tässä bash-komentosarjassa ilmoitti muuttuja nimeltä "tiedosto" ja antoi sille tekstitiedostomme nimeltä Test.txt sen arvona. Sitten meillä on "if -e" -lauseke, joka tuottaa "true" -ulostulon, jos määritettyä tiedostoa on olemassa.

Testataksemme komentosarjamme suoritamme sen seuraavalla komennolla:

$ bash FileTestOperators.sh

Meidän tapauksessamme, koska tekstitiedosto oli olemassa, komentosarjamme tulos on totta, kuten seuraavassa kuvassa näkyy:

Esimerkki ”if -s” -operaattorin käytöstä

Jos käytät “if -s” -operaattoria Bashissa, sinun on suoritettava seuraavat vaiheet:

Tässä esimerkissä bash-komentosarjamme on sama kuin edellä. Olemme juuri muuttaneet lausekkeen "if -e" muotoon "if -s". Olemme myös käyttäneet samaa tyhjää tekstitiedostotestiä.txt.

Nyt kun suoritamme tämän komentosarjan, lähtö on väärä, koska ”if -s” -operaattori palauttaa arvon true, jos tiedosto on olemassa ja myös jos se ei ole tyhjä. Koska meidän tapauksessamme, vaikka tiedosto oli olemassa, se oli silti tyhjä, siksi tuotoksemme osoittautui vääräksi, kuten seuraavassa kuvassa näkyy:

Jotta tämä lippu olisi totta, kirjoitamme tekstitiedostoon jonkin nuken tekstin alla olevan kuvan mukaisesti:

Sitten suoritamme bash-komentosarjamme uudelleen, ja tällä kertaa tulos on totta, kuten seuraavassa kuvassa näkyy, koska tekstitiedostossa on nyt tekstiä.

Esimerkkejä muiden tiedostotestioperaattoreiden käytöstä

Lukuun ottamatta ”if -e” ja “if -s” -operaattoreita on myös muita tiedostotestioperaattoreita. Seuraavassa jaamme kanssasi joitain tärkeimpiä tiedostotestioperaattoreita kuin edellä käsitellyt.

Esimerkki ”if -d” -operaattorin käytöstä

Jos käytät “if -d” -operaattoria Bashissa, sinun on suoritettava seuraavat vaiheet:

Tässä esimerkissä bash-komentosarjamme on sama kuin edellä. Olemme juuri muuttaneet "if -s" -lausekkeen "if -d". Olemme myös käyttäneet samaa tekstitiedostotestiä.txt.

”Jos -d” -operaattori palauttaa arvon true, jos tiedosto on hakemisto, muuten se on väärä. Koska tekstitiedostomme ei ollut hakemisto, tulos on väärä, kuten seuraavassa kuvassa näkyy:

Esimerkki ”if -h” -operaattorin käytöstä

Jos käytät “if -h” -operaattoria Bashissa, sinun on noudatettava näitä vaiheita:

Tässä esimerkissä bash-komentosarjamme on sama kuin edellä. Olemme juuri muuttaneet lausekkeen "if -d" muotoon "if -h". Olemme kuitenkin tällä kertaa käyttäneet testauksessa erilaista tiedostoa, joka oli itse asiassa symbolinen linkki nimeltä NewBash.sh.

”Jos -h” -operaattori palauttaa arvon true, jos tiedosto on symbolinen linkki, muuten se on väärä. Koska testitiedostomme oli symbolinen linkki, tulos on totta, kuten seuraavassa kuvassa näkyy:

Esimerkki ”if -r” -operaattorin käytöstä

Jos käytät “if -r” -operaattoria Bashissa, sinun on noudatettava näitä vaiheita:

Tässä esimerkissä bash-komentosarjamme on sama kuin edellä. Olemme juuri muuttaneet lausekkeen "if -h" muotoon "if -r". Olemme myös käyttäneet samaa tekstitiedostotestiä.txt.

”If -r” -operaattorin tulos on tosi, jos nykyinen käyttäjä pystyy lukemaan tiedoston, muuten se on väärä. Koska me voimme lukea tekstitiedostomme, tulos on totta, kuten seuraavassa kuvassa näkyy:

Samalla tavalla voit tarkistaa "if -w" - ja "if -x" -operaattoreiden avulla, onko nykyinen omistaja vastaavasti kirjoitettava ja suoritettava tiedosto.

Esimerkki “if -O” -operaattorin käytöstä

Jos käytät “if -O” -operaattoria Bashissa, sinun on suoritettava seuraavat vaiheet:

Tässä esimerkissä bash-komentosarjamme on sama kuin edellä. Olemme juuri muuttaneet lausekkeen "if -r" muotoon "if -O". Olemme myös käyttäneet samaa tekstitiedostotestiä.txt.

”If -O” -operaattorin tulos on tosi, jos nykyinen käyttäjä omistaa tiedoston, muuten se on väärä. Koska tekstitiedostomme omisti me, siis tulos on tosi, kuten seuraavassa kuvassa näkyy:

Johtopäätös

Tämä artikkeli kertoi lukijalle Bashin eri tiedostotestioperaattoreiden käytöstä Linux-käyttöjärjestelmää käyttäen. Käyttämällä näitä tiedostotestioperaattoreita käyttäjälle on erittäin kätevää työskennellä tiedostojen kanssa ilman mahdollisia vaikeuksia. On myös joitain muita tiedostotestioperaattoreita, joita voidaan käyttää eri tarkoituksiin. Tässä artikkelissa käsiteltyjä käytetään kuitenkin yleisimmin.

Shadow of the Tomb Raider for Linux -opetusohjelma
Shadow of the Tomb Raider on kahdestoista lisäys Tomb Raider -sarjaan - toiminta-seikkailupelisarja, jonka on luonut Eidos Montreal. Kriitikot ja fani...
Kuinka parantaa FPS ää Linuxissa?
FPS tarkoittaa Kuvaa sekunnissa. FPS: n tehtävänä on mitata kehysnopeus videotoistoissa tai peliesityksissä. Yksinkertaisin sanoin sekunnissa näytettä...
Suosituimmat Oculus App Lab -pelit
Jos olet Oculus-kuulokemikrofonin omistaja, sinun täytyy olla tietoinen sivulatauksesta. Sivulataus on prosessi, jolla ei-kaupallista sisältöä asennet...