BASH programmēšana

Bash, ja -e un -s un citi failu testēšanas operatori

Bash, ja -e un -s un citi failu testēšanas operatori

Strādājot ar failiem jebkurā operētājsistēmā, lietotājam ir obligāti jāpārbauda šie faili attiecībā uz noteiktiem aspektiem, piemēram, to īpašumtiesībām, piekļuves tiesībām, saturu, esamību utt. Šos aspektus var noskaidrot, savienojot paziņojumu “ja” ar dažādiem failu testēšanas operatoriem Bash. “If -e” un “if -s” ir šādi operatori Bash, ko izmanto, lai pārbaudītu faila esamību. Atšķirība starp abām ir tā, ka pirmais pārbauda tikai faila esamību, bet otrais arī pārbauda, ​​vai failā ir saturs vai nav. Šodien mēs centīsimies izprast šo divu operatoru lietojumu kopā ar dažiem citiem failu testēšanas operatoriem Bash.

Piezīme: Lai parādītu failu testēšanas operatoru lietojumu Bash, mēs izmantojām Linux Mint 20.

Failu testa operatoru izmantošanas piemēri Bash

Ir dažādi veidi, kā failu testēšanas operatorus “if -e” un “if -s” var izmantot. Lai izskaidrotu to lietojumu, mēs dalīsimies ar jums dažos piemēros.

Operatora “if -e” izmantošanas piemērs

Lai izmantotu operatoru “if -e” Bash, jums ir jāveic šādas darbības:

Pirmkārt, mēs esam izveidojuši tukšu teksta failu ar nosaukumu Test.txt mūsu mājas direktorijā. Tad mēs izveidojām bash failu ar nosaukumu FileTestOperators.sh tajā pašā direktorijā. Pēc šī faila izveidošanas mēs ierakstījām skriptu, kas parādīts šajā failā. Šajā bash skriptā deklarēja mainīgo ar nosaukumu “file” un piešķīra tam mūsu teksta failu ar nosaukumu Test.txt kā tā vērtību. Tad mums ir paziņojums “if -e”, kas rada “true” izvadi, ja pastāv kāds noteikts fails.

Lai pārbaudītu mūsu skriptu, mēs to palaidīsim, izmantojot tālāk norādīto komandu:

$ bash FileTestOperators.sh

Mūsu gadījumā, tā kā pastāvēja teksta fails, tāpēc mūsu skripta rezultāts būs patiess, kā parādīts šajā attēlā:

Operatora “if -s” izmantošanas piemērs

Lai izmantotu operatoru “if -s” Bash, jums jāveic šādas darbības:

Šajā piemērā mūsu bash skripts ir tāds pats kā mēs izmantojām iepriekš. Mēs tikko mainījām paziņojumu “ja-e” uz “ja -s”. Turklāt mēs esam izmantojuši to pašu tukšā teksta faila Test.txt.

Tagad, palaižot šo skriptu, izvade būs nepatiesa, jo operators “if -s” atgriež vērtību true, ja fails pastāv un arī, ja tas nav tukšs. Tā kā mūsu gadījumā, kaut arī fails pastāvēja, tomēr tas bija tukšs, tāpēc mūsu produkcija izrādījās nepatiesa, kā parādīts šajā attēlā:

Lai padarītu šo karodziņu patiesu, mēs teksta failā ierakstīsim kādu fiktīvu tekstu, kā parādīts zemāk:

Tad mēs atkal palaidām mūsu bash skriptu, un šoreiz izeja būs patiesa, kā parādīts nākamajā attēlā, jo teksta failā tagad ir teksts.

Citu failu testēšanas operatoru izmantošanas piemēri

Izņemot operatorus “if -e” un “if -s”, ir arī citi failu testēšanas operatori. Zemāk mēs ar jums dalīsimies ar dažiem svarīgākajiem failu testēšanas operatoriem, izņemot tos, kas tika apspriesti iepriekš.

Operatora “if -d” izmantošanas piemērs

Lai izmantotu operatoru “if -d” Bash, jums jāveic šādas darbības:

Šajā piemērā mūsu bash skripts ir tāds pats kā mēs izmantojām iepriekš. Mēs tikko mainījām paziņojumu “ja -s” uz “ja -d”. Arī mēs esam izmantojuši to pašu teksta faila Test.txt.

Operators “if -d” atgriež vērtību true, ja jūsu fails ir direktorijs, pretējā gadījumā tas būs nepatiess. Tā kā mūsu teksta fails nebija direktorijs, izeja būs nepatiesa, kā parādīts šajā attēlā:

Operatora “if -h” izmantošanas piemērs

Lai izmantotu operatoru “if -h” Bash, jums ir jāveic šādas darbības:

Šajā piemērā mūsu bash skripts ir tāds pats kā mēs izmantojām iepriekš. Mēs tikko mainījām paziņojumu “ja-d” uz “ja -h”. Tomēr šoreiz testēšanai mēs izmantojām citu failu, kas faktiski bija simboliska saite ar nosaukumu NewBash.sh.

Operators “if -h” atgriež vērtību true, ja jūsu fails ir simboliska saite, pretējā gadījumā tas būs nepareizs. Tā kā mūsu testa fails bija simboliska saite, izeja būs patiesa, kā parādīts šajā attēlā:

Operatora “if -r” izmantošanas piemērs

Lai izmantotu operatoru “if -r” Bash, jums ir jāveic šādas darbības:

Šajā piemērā mūsu bash skripts ir tāds pats kā mēs izmantojām iepriekš. Mēs tikko mainījām paziņojumu “ja -h” uz “ja -r”. Arī mēs esam izmantojuši to pašu teksta faila Test.txt.

Operatora “if -r” izvade būs patiesa, ja pašreizējais lietotājs var izlasīt failu, pretējā gadījumā tā būs nepatiesa. Tā kā mūsu teksta fails mums bija lasāms, izeja būs patiesa, kā parādīts šajā attēlā:

Tādā pašā veidā jūs varat izmantot operatorus “if -w” un “if -x”, lai pārbaudītu, vai fails ir attiecīgi rakstāms un izpildāms pašreizējam īpašniekam.

Operatora “if -O” izmantošanas piemērs

Lai izmantotu operatoru “if -O” Bash, jums jāveic šādas darbības:

Šajā piemērā mūsu bash skripts ir tāds pats kā mēs izmantojām iepriekš. Mēs tikko mainījām paziņojumu “ja -r” uz “ja -O”. Arī mēs esam izmantojuši to pašu teksta faila Test.txt.

Operatora “if -O” izvade būs patiesa, ja pašreizējam lietotājam pieder fails, pretējā gadījumā tā būs nepatiesa. Tā kā mūsu teksta fails piederēja mums, izeja būs patiesa, kā parādīts šajā attēlā:

Secinājums

Šis raksts sniedza lasītājam informāciju par dažādu failu testēšanas operatoru izmantošanu Bash, izmantojot Linux operētājsistēmu. Izmantojot šos failu pārbaudes operatorus, lietotājam ir ļoti ērti strādāt ar failiem bez jebkādām iespējamām grūtībām. Ir arī daži citi failu testēšanas operatori, kurus var izmantot dažādiem mērķiem. Tomēr visbiežāk tiek izmantoti tie, kas ir aplūkoti šajā rakstā.

Cīņa par Vesnotu 1.13.6 Izlaista attīstība
Cīņa par Vesnotu 1.13.6 izlaists pagājušajā mēnesī, ir sestais izstrādes izlaidums 1.13.x sērija un tā nodrošina vairākus uzlabojumus, īpaši lietotāja...
Kā instalēt League of Legends operētājsistēmā Ubuntu 14.04
Ja jūs esat League of Legends fans, tad šī ir iespēja jums izmēģināt League of Legends. Ņemiet vērā, ka LOL tiek atbalstīts PlayOnLinux, ja esat Linux...
Instalējiet jaunāko OpenRA stratēģijas spēli Ubuntu Linux
OpenRA ir bezmaksas / bezmaksas reāllaika stratēģijas spēļu dzinējs, kas atjauno agrīnās Vestvudas spēles, piemēram, klasisko Command & Conquer: Red A...