BASH programavimas

Bash, jei -e ir -s bei kiti failų testavimo operatoriai

Bash, jei -e ir -s bei kiti failų testavimo operatoriai

Dirbdamas su failais bet kurioje operacinėje sistemoje, vartotojas privalo išbandyti tuos failus pagal tam tikrus aspektus, pvz., Jų nuosavybės teises, prieigos teises, turinį, egzistavimą ir kt. Šiuos aspektus galima išsiaiškinti susiejant teiginį „jei“ su įvairiais „Bash“ failų testavimo operatoriais. „If -e“ ir „if -s“ yra tokie „Bash“ operatoriai, naudojami norint patikrinti, ar yra failas. Skirtumas tarp jų yra tas, kad pirmasis tikrina tik bylos buvimą, o antrasis taip pat tikrina, ar toje byloje yra turinio, ar ne. Šiandien mes pabandysime suprasti šių dviejų operatorių naudojimą kartu su keletu kitų failų bandymų operatorių Bash.

Pastaba: Norėdami parodyti failų testavimo operatorių naudojimą „Bash“, naudojome „Linux Mint 20“.

Failų testavimo operatorių naudojimo „Bash“ pavyzdžiai

Yra skirtingi failų bandymo operatorių „if -e“ ir „if -s“ naudojimo būdai. Norėdami paaiškinti jų naudojimą, pasidalinsime keliais pavyzdžiais su jumis.

Operatoriaus „if -e“ naudojimo pavyzdys

Jei norite naudoti „if -e“ operatorių „Bash“, turite atlikti šiuos veiksmus:

Pirma, mes sukūrėme tuščią teksto failą pavadinimu Test.txt mūsų pagrindiniame kataloge. Tada mes sukūrėme bash failą pavadinimu FileTestOperators.sh tame pačiame kataloge. Sukūrę šį failą, mes įvedėme scenarijų, parodytą šiame paveikslėlyje. Šiame „bash“ scenarijuje paskelbė kintamąjį, pavadintą „failas“, ir priskyrė jam tekstinį failą pavadinimu „Test“.txt kaip jo vertė. Tada mes turime sakinį „if -e“, kuris sukuria „true“ išvestį, jei yra koks nors nurodytas failas.

Norėdami išbandyti scenarijų, paleisime jį naudodami toliau nurodytą komandą:

$ bash „FileTestOperators“.sh

Mūsų atveju, kadangi egzistavo teksto failas, todėl mūsų scenarijaus išvestis bus teisinga, kaip parodyta šiame paveikslėlyje:

Operatoriaus „if -s“ naudojimo pavyzdys

Jei norite naudoti „Bash“ operatorių „if -s“, turėtumėte atlikti toliau nurodytus veiksmus:

Šiame pavyzdyje mūsų „bash“ scenarijus yra tas pats, kurį naudojome aukščiau. Ką tik pakeitėme teiginį „jei -e“ į „jei -s“. Be to, mes panaudojome tą patį tuščią teksto failo testą.txt.

Dabar, kai vykdysime šį scenarijų, išvestis bus klaidinga, nes operatorius „if -s“ grąžina „true“, jei yra failas ir jei jis nėra tuščias. Kadangi mūsų atveju, nors failas ir egzistavo, vis tiek jis buvo tuščias, todėl mūsų išvestis pasirodė esanti klaidinga, kaip parodyta šiame paveikslėlyje:

Kad ši vėliava būtų teisinga, mes į savo tekstinį failą įrašysime fiktyvų tekstą, kaip parodyta žemiau:

Tada dar kartą paleidžiame savo „bash“ scenarijų ir šį kartą išvestis bus teisinga, kaip parodyta kitame paveikslėlyje, nes teksto faile dabar yra šiek tiek teksto.

Kitų failų bandymo operatorių naudojimo pavyzdžiai

Išskyrus „if -e“ ir „if -s“ operatorius, yra ir kitų failų testavimo operatorių. Žemiau mes pasidalinsime su jumis keliais svarbiausiais failų testavimo operatoriais, išskyrus tuos, kurie buvo aptarti aukščiau.

Operatoriaus „if -d“ naudojimo pavyzdys

Norėdami naudoti „Bash“ operatorių „if -d“, turėtumėte atlikti toliau nurodytus veiksmus:

Šiame pavyzdyje mūsų „bash“ scenarijus yra tas pats, kurį naudojome aukščiau. Ką tik pakeitėme teiginį „jei -s“ į „jei -d“. Be to, mes naudojome tą patį teksto failo testą.txt.

Operatorius „if -d“ grąžina true, jei jūsų failas yra katalogas, kitaip jis bus klaidingas. Kadangi mūsų tekstinis failas nebuvo katalogas, išvestis bus klaidinga, kaip parodyta šiame paveikslėlyje:

Operatoriaus „if -h“ naudojimo pavyzdys

Norėdami naudoti „if -h“ operatorių „Bash“, turite atlikti šiuos veiksmus:

Šiame pavyzdyje mūsų „bash“ scenarijus yra tas pats, kurį naudojome aukščiau. Ką tik pakeitėme teiginį „jei -d“ į „jei -h“. Tačiau šį kartą bandymams naudojome kitą failą, kuris iš tikrųjų buvo simbolinė nuoroda, pavadinta „NewBash“.sh.

Operatorius „if -h“ grąžina true, jei jūsų failas yra simbolinė nuoroda, kitaip jis bus klaidingas. Kadangi mūsų bandymo failas buvo simbolinė nuoroda, išvestis bus teisinga, kaip parodyta šiame paveikslėlyje:

Operatoriaus „if -r“ naudojimo pavyzdys

Jei norite naudoti „Bash“ operatorių „if -r“, turite atlikti šiuos veiksmus:

Šiame pavyzdyje mūsų „bash“ scenarijus yra tas pats, kurį naudojome aukščiau. Ką tik pakeitėme teiginį „jei -h“ į „jei -r“. Be to, mes naudojome tą patį teksto failo testą.txt.

Operatoriaus „if -r“ išvestis bus teisinga, jei dabartinis vartotojas galės perskaityti failą, kitaip jis bus klaidingas. Kadangi mūsų tekstinis failas buvo mums skaitomas, išvestis bus teisinga, kaip parodyta šiame paveikslėlyje:

Tuo pačiu būdu galite naudoti operatorius „if -w“ ir „if -x“, kad patikrintumėte, ar failą atitinkamai gali parašyti ir vykdyti dabartinis savininkas.

Operatoriaus „if -O“ naudojimo pavyzdys

Jei norite naudoti „Bash“ operatorių „if -O“, turėtumėte atlikti toliau nurodytus veiksmus:

Šiame pavyzdyje mūsų „bash“ scenarijus yra tas pats, kurį naudojome aukščiau. Ką tik pakeitėme teiginį „if -r“ į „if -O“. Be to, mes naudojome tą patį teksto failo testą.txt.

Operatoriaus „if -O“ išvestis bus teisinga, jei dabartinis vartotojas turi failą, priešingu atveju jis bus klaidingas. Kadangi mūsų teksto failas priklausė mums, išvestis bus teisinga, kaip parodyta šiame paveikslėlyje:

Išvada

Šis straipsnis supažindino skaitytoją su skirtingų „Bash“ failų testavimo operatorių naudojimu naudojant „Linux“ operacinę sistemą. Naudojant šiuos failų testavimo operatorius, vartotojui labai patogu dirbti su failais be jokių galimų sunkumų. Yra ir keletas kitų failų testavimo operatorių, kuriuos galima naudoti įvairiems tikslams. Tačiau dažniausiai naudojami tie, kurie aptarti šiame straipsnyje.

Kaip sukurti žaidimą „Linux“
Prieš dešimtmetį nedaugelis „Linux“ vartotojų numatė, kad jų mėgstama operacinė sistema vieną dieną bus populiari komercinių vaizdo žaidimų žaidimų pl...
Atvirojo kodo komercinių žaidimų variklių uostai
Nemokami atvirojo kodo ir įvairių platformų žaidimų varikliai gali būti naudojami žaidžiant senus ir kai kuriuos gana naujus žaidimų pavadinimus. Šiam...
Geriausi „Linux“ komandinės eilutės žaidimai
Komandų eilutė yra ne tik jūsų didžiausias sąjungininkas naudojant „Linux“, bet ir pramogų šaltinis, nes ją galite naudoti norėdami žaisti daug įdomių...