Bash apakščaulas

Bash Apakscaulas



Dažreiz tas prasa fonā palaist vienu vai vairākas komandas vai skriptus. Šo uzdevumu var veikt, ierakstot visas komandas vai skriptus skripta failā un izpildot failu, izmantojot ampersandu (&), vai izpildot komandas vai skriptus apakščaulā no pašreizējās čaulas. Apakšapvalku var izmantot, lai izpildītu vairākas komandas vai skriptus, pievienojot $() vai atzīmes (`). Bash apakščaulas izmantošanas metodes ir parādītas šajā apmācībā.

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.