Dažādi apakščaulas piemēri
Šajā apmācības daļā ir parādīti dažādi veidi, kā izpildīt skriptu apakšapvalkā.
1. piemērs: izpildiet apakščaulu, izmantojot vienu citātu un dubulto citātu
Izveidojiet Bash failu ar šādu skriptu, kas izdrukā pašreizējo datumu un laiku. Pēc tam tiek izdrukāts mainīgais $strVal, iekļaujot apakšpēdiņās un dubultpēdiņās apakščaulas skriptu.
#!/bin/bash
#Drukājiet komandu 'date' apakšapvalkā
atbalss 'Šodien ir `datums` '
#Definējiet virknes mainīgo
strVal = 'Bash Subshell'
#Izdrukājiet mainīgo apakščaulā, izmantojot vienas pēdiņas
atbalss 'Atsevišķu pēdiņu izvade:' '$(echo $strVal)'
#Izdrukājiet mainīgo apakščaulā, izmantojot pēdiņas
atbalss 'Pēdiņu izvade:' ' $(echo $strVal) '
Pēc skripta izpildes tiek parādīta šāda izvade. Apakščaulas skripts tiek drukāts kā virkne, ja tas ir pievienots atsevišķām pēdiņām. Apakščaulas skripts tiek izpildīts, ja tas ir ievietots dubultpēdiņās:
2. piemērs: meklējiet visus konkrētā paplašinājuma failus, izmantojot apakšapvalku
Izveidojiet Bash failu ar šādu skriptu, kas izmanto faila paplašinājumu kā ievadi no lietotāja. Pēc tam apakšapvalkā tiek izpildīta komanda “ls”, lai meklētu visus šī konkrētā paplašinājuma failus.
#!/bin/bash
atbalss -n 'Ievadiet faila paplašinājuma nosaukumu:'
#Paņemiet faila paplašinājuma nosaukumu, kas tiks meklēts
lasīt ext
#Pārbaudiet ievades vērtību
ja [ [ $ext == '' ] ] ; tad
#Drukāt kļūdas ziņojumu
atbalss 'Pagarinājums netiek dots.'
cits
atbalss 'Failu nosaukumi ar $ext paplašinājums:'
#Izdrukājiet visus failu nosaukumus ar norādīto paplašinājumu
atbalss ' $( echo `ls *.$ext` ) '
būt
Pēc skripta izpildes ar “txt” ievadi tiek parādīta šāda izvade. Saskaņā ar izvadi pašreizējā vietā pastāv trīs teksta faili:
Pēc skripta izpildes ar tukšu vērtību tiek parādīta šāda izvade:
3. piemērs: izpildiet aritmētisko izteiksmi apakšshellā
Izveidojiet Bash failu ar šādu skriptu, kurā galvenajā čaulā un apakščaulā tiek izmantots tāda paša nosaukuma mainīgais. Aritmētiskā darbība ir definēta galvenajā čaulā un apakščaulā.
#!/bin/bash#Definējiet vecākčaulas mainīgo
numuru = 10
#Izdrukājiet rezultātu, pamatojoties uz vecākčaulas mainīgo
( ( rezultāts = $numurs + 5 ) )
atbalss 'Summa $numurs +5= $rezultāts '
#Izveidojiet apakščaulas mainīgo ar tādu pašu nosaukumu kā vecākčaulas
( numuru = divdesmit ; ( ( rezultāts = $numurs + 10 ) ) ; atbalss 'Summa $numurs +5= $rezultāts ' )
#Vēlreiz izdrukājiet rezultātu, pamatojoties uz vecākčaulas mainīgo
atbalss 'Summa $numurs +5= $rezultāts '
Pēc skripta izpildes tiek parādīta šāda izvade. Pirmā un pēdējā izvade parāda galvenās čaulas rezultātu. Otrā izvade parāda apakščaulas rezultātu. Galvenās čaulas mainīgo nemaina apakščaulas mainīgais:
4. piemērs: izpildiet vairākas komandas apakšshellā
Izveidojiet Bash failu ar šādu skriptu, kas nosūta komandas “echo” izvadi komandai “sed”, kas aizstāj atbilstošās virknes vērtību ar citu virkni. Komandas “echo” izvade ir “JavaScript”. Tātad šī vērtība tiek salīdzināta ar “Java” un “JavaScript”. Ja tiek atrasta atbilstība, atbilstošās virknes tiek aizstātas ar virkni “Type”.
#!/bin/bash#Definējiet virknes vērtību
strVal = 'JavaScript'
#Izdrukājiet sākotnējo virknes vērtību
atbalss 'Virknes vērtība: $strVal '
#Izdrukājiet apakščaulas vērtību
atbalss -n 'Apakščaulas vērtība:'
atbalss ' $(echo $strVal | sed 's|Java|JavaScript Type|') '
Pēc skripta izpildes tiek parādīta šāda izvade. Saskaņā ar izvadi 'Java' virkne tiek aizstāta ar virkni 'Type'. Apakščaulas izvade ir “JavaScript TypeScript”:
Secinājums
Vienu vai vairākas komandas vai skriptus var izpildīt, izmantojot apakšapvalku, neietekmējot galveno apvalku. Apakščaulas izmantošanas mērķi ir izskaidroti šajā apmācībā, izmantojot vairākus piemērus. Dažāda veida uzdevumus, piemēram, failu meklēšanu, skaitļu summas aprēķināšanu, virkņu aizstāšanu utt., Dotajos piemēros veic apakšapvalks. Apakščaulas izmantošanas jēdziens ir pareizi parādīts, un jaunie Bash lietotāji tagad varēs izmantot apakščaulas pēc šīs apmācības izlasīšanas.