Ukazi za Linux

Poveljstvo primera BASH

Poveljstvo primera BASH

Ukaz Bash case se uporablja za pravilno ukrepanje s primerjavo podatkov, kot je izjava if. Deluje kot stavek o preklopnem primeru drugih standardnih programskih jezikov. Ta ukaz se začne z izjavo 'case' in zapre z izjavo 'esac'. Stavek break se ne uporablja v ukazu case in dvojni oklepaj (;;) je potreben za omembo stavka (-ov) za katero koli določeno ujemanje. Ta ukaz razširi izraz in se poskuša ujemati z danim vzorcem in izhodna koda stanja tega ukaza bo nič, če ne bo mogoče najti ujemanja. V tej vadnici je prikazanih nekaj pogostih primerov izjav primerov.

Primer-1: preprosta izjava o primeru

En sam pogojni izraz se uporablja v ukazu bash case za generiranje izhoda na podlagi ujemajočega se pogoja. Ustvari bash datoteko z imenom primer1.sh z naslednjim bash skriptom. Skript bo zavzel vrednost v nizu in jo ujemal z vsakim izrazom. Naslednji skript bo ustvaril »Vnos ni najden«, če ne obstaja ujemajoč se izraz,
primer1.sh

#!/ bin / bash
echo "Vpiši svoje ime"
preberite ime
$ ime v
Yesmin)
echo "Vaša najljubša barva je modra" ;;
Fahmida)
echo "Vaša najljubša pijača je Sprite" ;;
*)
echo "Vnos ni najden" ;;
esac

Zaženite skript.

$ bash primer1.sh

Izhod:

Datoteka se tukaj izvede z veljavnim in neveljavnim vhodom za preizkus izhoda.

Primer-2: večkratni stavek s cevjo

Za izvajanje različnih vrst stavkov lahko v skriptu bash uporabite več izrazov z velikimi črkami. Simbol cevi (|) lahko uporabimo za dodelitev več izrazov. Ustvari bash datoteko z imenom primer2.sh z naslednjim skriptom. Če se po zagonu skripta ujema vrednost s katerim koli izrazom, bo natisnjena ustrezna besedilna vrednost.
primer2.sh

#!/ bin / bash
echo "Vnesite svojo ID številko"
preberite ID
primera $ ID v
65341)
echo "Vaš položaj je 1." ;;
97564 | 88453)
echo "Vaš položaj je drugi" ;;
45087)
echo "Vaš položaj je tretji" ;;
*)
echo "Neveljaven ID" ;;
esac

Zaženite skript .

$ bash primer2.sh

Izhod:

Ta skript deluje tudi kot prejšnji primer. Edina razlika je v tem, da se vrednosti več izrazov preskusijo za en izhod.

Primer-3: Kako zapreti blok stavka case / esac

Ko se ukaz bash primera uporablja v neskončni zanki, je za zaključitev zanke potreben izhodni ukaz. Ta primer prikazuje, kako je mogoče izvesti te vrste naloge. Ustvarite besedilno datoteko z imenom primer3.sh z naslednjim skriptom. Ta skript bo za vnos vzel katero koli številko od 1 do 3. Če je vnos 1, bosta dodani dve številki, če je vnos 2, bosta dve številki odšteti in če je vhodna številka 3, se bosta dve številki pomnožili. Rezultat bo "Neveljaven vnos", če je vhodna številka večja od 3 ali manjša od 1 ali prazna.
primer3.sh

#!/ bin / bash
#!/ bin / bash
medtem ko (res)
naredi
a = 8
b = 4
((x = $ a + $ b))
((y = $ a- $ b))
((z = $ a * $ b))
odmev "tip 1 ali 2 ali 3"
beri ans
primeru $ ans in
1) echo "Vsota $ a in $ b je $ x & izhod" ;;
2) echo "Odštevanje $ a in $ b je $ y & exit" ;;
3) echo "Množenje $ a in $ b je $ z & exit" ;;
*) echo "Neveljaven vnos"
esac
Končano

Zaženite skript.

$ bash case3.sh

Izhod:

Skript se bo nadaljeval, dokler ne pritisnete ctrl + c.

Primer-4: Preverjanje vrednosti argumenta prazne ukazne vrstice

Argument spremenljivke ukazne vrstice je mogoče uporabiti v stavku primera bash. Ustvarite datoteko z imenom primer4.sh z naslednjim skriptom, ki bo preveril vrednost druge argumentne spremenljivke.

#!/ bin / bash
ohišje "$ 2" v
"Ubuntu")
echo "Drugi argument je 2 USD."
;;
"CentOS")
echo "Drugi argument je 2 USD."
;;
"")
"drugi argument je prazen."
;;
esac

Zaženite skript.

$ bash primer4.sh

Izhod:

Tu se skript prvič izvede brez kakršne koli druge vrednosti argumenta ukazne vrstice, izhod pa prikazuje "Drugi argument je prazen". Ko je skript drugič izveden z vrednostjo argumenta druge ukazne vrstice, izhod ni prikazan.

Primer 5: stavek več primerov na podlagi uporabnikovega vnosa

Ustvari bash datoteko z imenom primer5.sh z naslednjim skriptom. Skript bo uporabljen kot ime meseca. Če se ime meseca ujema s katero koli vrednostjo primera, bo določeno besedilno sporočilo dodeljeno spremenljivki Sporočilo. Vhodna vrednost mora biti polno mesečno ime ali trimestno ime meseca.

primer5.sh

#!/ bin / bash
echo "Vnesite ime meseca"
preberite mesec
primer $ mesec v
Januar | januar *)
Sporočilo = "21. februar je naš mednarodni materinski dan."
;;
Februar | februar *)
Sporočilo = "21. februar je naš mednarodni materinski dan."
;;
Marec | marec *)
Sporočilo = "9. marec je svetovni dan ledvic."
;;
April | april *)
Message = "Trenutni mesec ni februar"
;;
Maj | maj *)
Message = "Trenutni mesec je februar"
;;
Junij | junij *)
Message = "Trenutni mesec je februar"
;;
*)
Message = "Ustreznih informacij ni bilo mogoče najti"
;;
esac
echo $ Message

Zaženite skript.

$ bash primer5.sh

Izhod:

Naslednji izhod se bo prikazal za vhodno vrednost, 'March' ali 'Mar'.

Primer-6: Preveri spremenljivko v stavku primera bash

Vsako vrednost niza lahko natisnemo tako, da preverimo vrednost argumentne spremenljivke ukazne vrstice. Ustvarite besedilno datoteko z imenom primer6.sh z naslednjim skriptom. V tem primeru je preverjena vrednost prve spremenljivke argumenta in če je vrednost prazna, bo natisnjen niz »Všeč mi je programiranje bash«.

primer6.sh

#!/ bin / bash
primeru $ 1 in
("") echo "Všeč mi je bash programiranje";
esac

Zaženite skript.

$ bash primer6.sh

Izhod:

Ta skript se izvede z in brez prvih argumentov. Ne bo izpisa, če ne bo podana nobena spremenljivka argumenta ukazne vrstice.

Zaključek

V tem članku so prikazane različne uporabe ukaza bash case. Če bralci pravilno vadijo te primere, bodo lažje rešili številne težave z bash programiranjem.

Namestite najnovejši Dolphin Emulator za Gamecube & Wii v Linux
Dolphin Emulator vam omogoča igranje izbranih iger Gamecube in Wii na osebnih računalnikih Linux (PC). Dolphin Emulator je prosto dostopen in odprtok...
Kako uporabljati GameConqueror Cheat Engine v Linuxu
Članek zajema vodnik o uporabi varalnice GameConqueror v Linuxu. Številni uporabniki, ki igrajo igre v sistemu Windows, pogosto uporabljajo aplikacijo...
Najboljši emulatorji igralne konzole za Linux
V tem članku bo navedena priljubljena programska oprema za emulacijo igralne konzole, ki je na voljo za Linux. Emulacija je sloj združljivosti program...