Bashi alamkestad

Bashi Alamkestad



Mõnikord nõuab see taustal ühe või mitme käsu või skripti käivitamist. Seda ülesannet saab teha, kirjutades kõik käsud või skriptid skriptifaili ja käivitades faili ampersandiga (&) või käivitades käsud või skriptid praegusest kestast alamkestas. Alamshelli saab kasutada mitme käsu või skripti täitmiseks, lisades sellele märke $() või tagumisi märke (`). Selles õpetuses on näidatud Bashi alamkesta kasutamise meetodid.

Subshelli erinevad näited

Selles õpetuse osas näidatakse erinevaid viise, kuidas skripti alamkestas käivitada.

Näide 1: Käivitage alamkest, kasutades ühe- ja topelttsitaati

Looge Bash-fail järgmise skriptiga, mis prindib praeguse kuupäeva ja kellaaja. Järgmisena prinditakse muutuja $strVal, lisades alamshelli skripti üksik- ja topeltjutumärkidesse.







#!/bin/bash

#Trüki alamkestas käsk 'date'

kaja 'Täna on 'kuupäev'. '

#Defineerige stringi muutuja

strVal = 'Bash Subshell'

#Trükige muutuja alamkestas üksikute jutumärkidega

kaja 'Ühekordsete jutumärkide väljund:' '$(echo $strVal)'

#Prindige muutuja alamkestas jutumärkidega

kaja 'Jutumärkide väljund:' ' $(kaja $strVal) '

Pärast skripti täitmist ilmub järgmine väljund. Alamshelli skript prinditakse stringina, kui see on ümbritsetud üksikute jutumärkidega. Alamshelli skript käivitatakse, kui see on ümbritsetud jutumärkidega:





Näide 2: Otsige alamkesta abil kõiki konkreetse laienduse faile

Looge Bash-fail järgmise skriptiga, mis võtab faililaiendi kasutaja sisendiks. Järgmisena käivitatakse alamkestas käsk 'ls', et otsida selle konkreetse laiendi kõigist failidest.





#!/bin/bash

kaja -n 'Sisestage faililaiendi nimi:'

#Võtke otsitava faililaiendi nimi

lugeda ext

#Kontrollige sisendväärtust

kui [ [ $ext == '' ] ] ; siis

#Prindi veateade

kaja 'Pikendust ei anta.'

muidu

kaja 'Failinimed koos $ext laiendus:'

#Prindige kõik antud laiendiga failinimed

kaja ' $( echo `ls *.$ext`) '

olla

Järgmine väljund ilmub pärast skripti täitmist sisendiga 'txt'. Vastavalt väljundile on praeguses asukohas kolm tekstifaili:



Pärast tühja väärtusega skripti täitmist kuvatakse järgmine väljund:

Näide 3: Käivitage aritmeetiline avaldis alamkestas

Looge järgmise skriptiga Bash-fail, kus sama nimega muutujat kasutatakse põhi- ja alamkestas. Aritmeetiline tehe on määratletud põhi- ja alamkestas.

#!/bin/bash

#Määrake vanemshelli muutuja

number = 10

#Prindige tulemus vanemshelli muutuja põhjal

( ( tulemus = $number + 5 ) )

kaja 'Summa $number +5= $tulemus '

#Looge alamkesta muutuja sama nimega kui emakesta

( number = kakskümmend ; ( ( tulemus = $number + 10 ) ) ; kaja 'Summa $number +5= $tulemus ' )

#Prindi tulemus uuesti vanemshelli muutuja põhjal

kaja 'Summa $number +5= $tulemus '

Pärast skripti täitmist ilmub järgmine väljund. Esimene ja viimane väljund näitavad põhikesta tulemust. Teine väljund näitab alamkesta tulemust. Põhikesta muutujat alamkesta muutuja ei muuda:

Näide 4: täitke alamkestas mitu käsku

Looge Bashi fail järgmise skriptiga, mis saadab käsu 'echo' väljundi käsku 'sed', mis asendab sobiva stringi väärtuse teise stringiga. Käsu “echo” väljund on “JavaScript”. Seega võrreldakse seda väärtust „Java” ja „JavaScriptiga”. Kui vaste leitakse, asendatakse vastavad stringid stringiga 'Tüüp'.

#!/bin/bash

#Defineerige stringi väärtus

strVal = 'JavaScript'

#Prindi algne stringi väärtus

kaja 'Stringi väärtus: $strVal '

#Prindige alamkesta väärtus

kaja -n 'Alamkesta väärtus:'

kaja ' $(echo $strVal | sed 's|Java|JavaScripti tüüp|') '

Pärast skripti täitmist ilmub järgmine väljund. Vastavalt väljundile asendatakse 'Java' string stringiga 'Type'. Alamkesta väljund on 'JavaScript TypeScript':


Järeldus

Alamkesta abil saab käivitada ühte või mitut käsku või skripti ilma põhikestat mõjutamata. Alamkesta kasutamise eesmärke selgitatakse selles õpetuses mitme näite abil. Erinevat tüüpi ülesandeid, nagu failide otsimine, arvude summa arvutamine, stringide asendamine jne, teeb antud näidetes alamkest. Alamkesta kasutamise kontseptsioon on korralikult demonstreeritud ja uued Bashi kasutajad saavad nüüd pärast selle õpetuse lugemist seda alamkesta kasutada.