„Linux“ komandos

BASH bylos komanda

BASH bylos komanda

„Bash case“ komanda naudojama norint imtis tinkamų veiksmų lyginant duomenis, pvz., Jei teiginį. Tai veikia kaip kitų standartinių programavimo kalbų sakinys. Ši komanda prasideda sakiniu „case“ ir baigiama „esac“ sakiniu. Komandoje „case“ nenaudojamas pertraukos sakinys, o norint pažymėti sakinį (-ius), reikia nurodyti dvigubą skliaustą (;;). Ši komanda išplečia išraišką ir bando suderinti su nurodytu šablonu, o šios komandos išėjimo būsenos kodas bus lygus nuliui, jei nebus rasta atitiktis. Keli įprasti atvejų aprašymų pavyzdžiai rodomi šioje pamokoje.

1 pavyzdys: paprastas atvejo aprašymas

Viena sąlyginė išraiška naudojama komandoje „bash case“, kad generuotų išvestį pagal atitikimo sąlygą. Sukurkite bash failą pavadinimu atvejis1.sh su tokiu bash scenarijumi. Scenarijus ims eilutės vertę ir atitiks vertę su kiekviena išraiška. Šis scenarijus sugeneruos „Nerastas įrašas“, jei nėra atitinkančios išraiškos,
atvejis1.sh

#!/ bin / bash
aidas „Įveskite savo vardą“
skaityti vardą
byla $ name
Taipmin)
aidas „Tavo mėgstamiausia spalva yra mėlyna“ ;;
Fahmida)
aidas „Jūsų mėgstamiausias gėrimas yra Sprite“ ;;
*)
aidas „Įrašo nerasta“ ;;
esac

Paleiskite scenarijų.

$ bash atvejis.sh

Išvestis:

Failas vykdomas su galiojančia ir neteisinga įvestimi, kad būtų išbandyta išvestis.

2 pavyzdys: kelių atvejų pareiškimas su vamzdžiu

Įvairių tipų teiginiams vykdyti bash scenarijuje gali būti taikomos kelios raidės. Vamzdis (|) gali būti naudojamas priskirti kelias išraiškas. Sukurkite bash failą pavadinimu atvejis2.sh su tokiu scenarijumi. Paleidus scenarijų, jei įvesties reikšmė atitinka bet kurią išraišką, bus išspausdinta atitinkama teksto vertė.
atvejis2.sh

#!/ bin / bash
aidas „Įveskite savo asmens kodą“
skaityti ID
byla „$ ID“
65341)
aidas „Tavo pozicija yra 1-oji“ ;;
97564 | 88453)
aidas „Jūsų pozicija yra 2“ ;;
45087)
aidas „Tavo pozicija trečia“ ;;
*)
aidas „Neteisingas ID“ ;;
esac

Paleiskite scenarijų .

$ bash atvejis2.sh

Išvestis:

Šis scenarijus taip pat veikia kaip ankstesnis pavyzdys. Vienintelis skirtumas yra tas, kad kelios išraiškos vertės yra tikrinamos vienam išėjimui.

3 pavyzdys: kaip išeiti iš „case / esac“ sakinių bloko

Kai „bash case“ komanda naudojama pagal begalinę kilpą, išeities komandą reikia naudoti norint užbaigti kilpą. Šis pavyzdys parodo, kaip galima atlikti tokio tipo užduotis. Sukurkite tekstinį failą pavadinimu atvejis3.sh su tokiu scenarijumi. Šis scenarijus įves bet kurį skaičių nuo 1 iki 3. Jei įvestis yra 1, bus pridėti du skaičiai, jei įvestis yra 2, atimami du skaičiai, o jei įvesties skaičius yra 3, du skaičiai bus padauginti. Išvestis bus „Neteisingas įrašas“, jei įvesties numeris yra didesnis nei 3 arba mažesnis nei 1 arba tuščias.
atvejis3.sh

#!/ bin / bash
#!/ bin / bash
kol (tiesa)
padaryti
a = 8
b = 4
((x = $ a + $ b))
((y = $ a- $ b))
((z = $ a * $ b))
aidas „1, 2 arba 3 tipas“
skaityti ans
byla $ ans in
1) aidas "$ a ir $ b suma yra $ x & exit" ;;
2) aidas "$ a ir $ b atimimas yra $ y & exit" ;;
3) aidas "$ a ir $ b dauginimas yra $ z & exit" ;;
*) aidas „Neteisingas įrašas“
esac
padaryta

Paleiskite scenarijų.

$ bash atvejis3.sh

Išvestis:

Scenarijus bus vykdomas tol, kol bus paspaustas „Ctrl“ + c.

4 pavyzdys: tuščios komandinės eilutės argumento vertės tikrinimas

Komandinės eilutės argumento kintamasis gali būti naudojamas „bash“ atvejo pareiškime. Sukurkite failą pavadinimu atvejis4.sh naudodami šį scenarijų, kuris patikrins antrojo argumento kintamojo vertę.

#!/ bin / bash
byla „2 USD“
„Ubuntu“)
echo "Antrasis argumentas yra 2 USD."
;;
„CentOS“)
echo "Antrasis argumentas yra 2 USD."
;;
„“)
aidas "Antras argumentas yra tuščias."
;;
esac

Paleiskite scenarijų.

$ bash atvejis4.sh

Išvestis:

Čia scenarijus pirmą kartą vykdomas be antrosios komandinės eilutės argumento vertės, o išvestyje rodoma „Antrasis argumentas yra tuščias“. Kai scenarijus antrą kartą vykdomas su antra komandinės eilutės argumento reikšme, išvestis nerodoma.

5 pavyzdys: kelių atvejų pareiškimas, pagrįstas vartotojo įvestimi

Sukurkite bash failą pavadinimu atvejis5.sh su tokiu scenarijumi. Scenarijuje vartotojo vardas bus mėnesio pavadinimas. Jei mėnesio pavadinimas sutampa su bet kurios reikšmės reikšme, tam tikras tekstinis pranešimas bus priskirtas kintamajam „Message“. Įvesties vertė turi būti viso mėnesio pavadinimas arba trijų simbolių mėnesio pavadinimas.

atvejis5.sh

#!/ bin / bash
echo "Įveskite mėnesio pavadinimą"
perskaitytas mėnuo
byla $ mėnuo
Sausis | sausis *)
Žinutė = "Vasario 21-oji yra mūsų tarptautinė motinos diena."
;;
Vasaris | vasaris *)
Žinutė = "Vasario 21-oji yra mūsų tarptautinė motinos diena."
;;
Kovas | kovas *)
Žinutė = "Kovo 9-oji yra pasaulinė inkstų diena."
;;
Balandis | balandis *)
Message = "Dabartinis mėnuo nėra vasaris"
;;
Gegužė | gegužė *)
Message = "Dabartinis mėnuo yra vasaris"
;;
Birželis | birželis *)
Message = "Dabartinis mėnuo yra vasaris"
;;
*)
Message = "Nerasta atitinkančios informacijos"
;;
esac
echo $ Žinutė

Paleiskite scenarijų.

$ bash atvejis.sh

Išvestis:

Įvesties vertei bus rodomas toks išvestis: „Kovas“ arba „Maras“.

6 pavyzdys: Patikrinkite kintamąjį „bash“ atvejo pareiškime

Bet kurią eilutės reikšmę galima atsispausdinti patikrinus komandinės eilutės argumento kintamojo vertę. Sukurkite tekstinį failą pavadinimu atvejis6.sh su tokiu scenarijumi. Šiame pavyzdyje tikrinama pirmojo argumento kintamojo vertė ir, jei reikšmė tuščia, tada bus išspausdinta eilutė: „Man patinka programuoti bash“.

atvejis6.sh

#!/ bin / bash
byla 1 USD
("") aidas "Man patinka programuoti bash";
esac

Paleiskite scenarijų.

$ 6. basas.sh

Išvestis:

Šis scenarijus vykdomas su pirmaisiais argumentais ir be jų. Nebus išvesties, jei nepraeis nė vienas komandinės eilutės argumento kintamasis.

Išvada

Skirtingi „bash case“ komandos naudojimo būdai parodyti šiame straipsnyje. Jei skaitytojai tinkamai praktikuos šiuos pavyzdžius, jiems bus lengviau išspręsti daugelį „bash“ programavimo problemų.

Geriausios „Linux“ skirtos „Gamepad“ žemėlapių sudarymo programos
Jei jums patinka žaisti žaidimus „Linux“ su žaidimų pultu, o ne įprasta klaviatūra ir pelės įvesties sistema, yra keletas jums naudingų programų. Daug...
Naudingi įrankiai „Linux“ žaidėjams
Jei jums patinka žaisti žaidimus „Linux“ sistemoje, yra tikimybė, kad galbūt naudojote tokias programas ir įrankius kaip „Wine“, „Lutris“ ir „OBS Stud...
„HD Remastered“ žaidimai, skirti „Linux“, kurie niekada anksčiau nebuvo išleisti „Linux“
Daugelis žaidimų kūrėjų ir leidėjų siūlo senų žaidimų HD remasterį, kad prailgintų franšizės laiką. Prašome gerbėjų, prašančių suderinamumo su šiuolai...