Različni primeri podlupine
V tem delu vadnice so prikazani različni načini izvajanja skripta v podlupini.
Primer 1: Izvedite podlupino z enojnim in dvojnim narekovajem
Ustvarite datoteko Bash z naslednjim skriptom, ki natisne trenutni datum in uro. Nato se spremenljivka $strVal natisne tako, da se skript podlupine zapre med enojne in dvojne narekovaje.
#!/bin/bash
#Natisnite ukaz `datum` v podlupini
odmev 'Danes je `datum` '
#Definiraj spremenljivko niza
strVal = 'Bash Subshell'
#Natisnite spremenljivko v podlupini z enojnimi narekovaji
odmev 'Izhod enojnih narekovajev:' '$(echo $strVal)'
#Natisnite spremenljivko v podlupini z uporabo dvojnih narekovajev
odmev 'Izpis dvojnih narekovajev:' ' $(echo $strVal) '
Po izvedbi skripta se prikaže naslednji rezultat. Skript podlupine je natisnjen kot niz, ko je obdan z enojnimi narekovaji. Skript podlupine se izvede, ko je obdan z dvojnimi narekovaji:
2. primer: Iskanje vseh datotek z določeno končnico z uporabo podlupine
Ustvarite datoteko Bash z naslednjim skriptom, ki vzame končnico datoteke kot vnos uporabnika. Nato se v podlupini izvede ukaz »ls« za iskanje po vseh datotekah te določene pripone.
#!/bin/bash
odmev -n 'Vnesite ime pripone datoteke:'
#Vzemite ime končnice datoteke, ki jo boste iskali
prebrati ext
#Preverite vneseno vrednost
če [ [ $ext == '' ] ] ; potem
#Natisni sporočilo o napaki
odmev 'Podaljšanje ni dano.'
drugače
odmev 'Imena datotek z $ext razširitev:'
#Natisni vsa imena datotek z dano končnico
odmev ' $( echo `ls *.$ext` ) '
biti
Naslednji izhod se prikaže po izvedbi skripta z vnosom »txt«. Glede na izhod obstajajo tri besedilne datoteke na trenutni lokaciji:
Po izvedbi skripta s prazno vrednostjo se prikaže naslednji rezultat:
Primer 3: Izvedite aritmetični izraz v podlupini
Ustvarite datoteko Bash z naslednjim skriptom, kjer je istoimenska spremenljivka uporabljena v glavni in podlupini. Aritmetična operacija je definirana v glavni in podlupini.
#!/bin/bash#Definirajte nadrejeno spremenljivko lupine
število = 10
#Natisni rezultat na podlagi spremenljivke nadrejene lupine
( ( rezultat = $število + 5 ) )
odmev 'Vsota $število +5= $rezultat '
#Ustvarite spremenljivko podlupine z enakim imenom nadrejene lupine
( število = dvajset ; ( ( rezultat = $število + 10 ) ) ; odmev 'Vsota $število +5= $rezultat ' )
#Znova natisnite rezultat na podlagi spremenljivke nadrejene lupine
odmev 'Vsota $število +5= $rezultat '
Po izvedbi skripta se prikaže naslednji rezultat. Prvi in zadnji izhod prikazujeta rezultat glavne lupine. Drugi izhod prikazuje rezultat podlupine. Spremenljivka glavne lupine ni spremenjena s spremenljivko podlupine:
Primer 4: Izvedite več ukazov v podlupini
Ustvarite datoteko Bash z naslednjim skriptom, ki pošlje izhod ukaza »echo« v ukaz »sed«, ki nadomesti vrednost ujemajočega niza z drugim nizom. Izhod ukaza »echo« je »JavaScript«. Torej se ta vrednost primerja z »Java« in »JavaScript«. Če se najde ujemanje, se ujemajoči nizi nadomestijo z nizom »Vrsta«.
#!/bin/bash#Določite vrednost niza
strVal = 'JavaScript'
#Natisni izvirno vrednost niza
odmev 'Vrednost niza: $strVal '
#Natisni vrednost podlupine
odmev -n 'Vrednost podlupine: '
odmev ' $(echo $strVal | sed 's|Java|JavaScript Type|') '
Po izvedbi skripta se prikaže naslednji rezultat. V skladu z izhodom je niz »Java« nadomeščen z nizom »Type«. Izhod podlupine je »JavaScript TypeScript«:
Zaključek
Enega ali več ukazov ali skriptov je mogoče izvesti z uporabo podlupine, ne da bi to vplivalo na glavno lupino. Nameni uporabe podlupine so v tej vadnici razloženi z več primeri. Različne vrste nalog, kot so iskanje po datotekah, računanje vsote števil, zamenjava nizov itd., opravlja podlupina v navedenih primerih. Koncept uporabe podlupine je pravilno prikazan in novi uporabniki Bash bodo zdaj lahko uporabljali podlupino, ko bodo prebrali to vadnico.