Bash podljuske

Bash Podljuske



Ponekad je potrebno pokrenuti jednu ili više naredbi ili skripti u pozadini. Ovaj se zadatak može izvršiti pisanjem svih naredbi ili skripti u datoteku skripte i izvršavanjem datoteke pomoću znaka & (&) ili izvršavanjem naredbi ili skripti u podljusku iz trenutne ljuske. Podljuska se može koristiti za izvršavanje više naredbi ili skripti dodavanjem $() ili povratnim kvačicama (`). Metode korištenja podljuske Bash prikazane su u ovom vodiču.

Različiti primjeri podljuske

Različiti načini izvršavanja skripte u podljusci prikazani su u ovom dijelu vodiča.

Primjer 1: Izvršite podljusku koristeći jednostruki navodnik i dvostruki navodnik

Stvorite Bash datoteku sa sljedećom skriptom koja ispisuje trenutni datum i vrijeme. Zatim se ispisuje varijabla $strVal zatvaranjem skripte podljuske unutar jednostrukih navodnika i dvostrukih navodnika.







#!/bin/bash

#Ispišite naredbu `date` u podljusku

jeka 'Danas je `datum` '

#Definirajte varijablu niza

strVal = 'Bash podljuska'

#Ispišite varijablu u podljusku koristeći jednostruke navodnike

jeka 'Izlaz jednostrukih navodnika:' '$(echo $strVal)'

#Ispišite varijablu u podljusku koristeći dvostruke navodnike

jeka 'Izlaz dvostrukih navodnika:' ' $(echo $strVal) '

Nakon izvršavanja skripte pojavljuje se sljedeći izlaz. Skripta podljuske ispisuje se kao niz kada se nalazi u jednostrukim navodnicima. Skripta podljuske se izvršava kada je ograđena dvostrukim navodnicima:





Primjer 2: Pretraživanje svih datoteka određene ekstenzije pomoću podljuske

Stvorite Bash datoteku sa sljedećom skriptom koja uzima ekstenziju datoteke kao unos od korisnika. Zatim se izvršava naredba “ls” u podljusci za pretraživanje svih datoteka te određene ekstenzije.





#!/bin/bash

jeka -n 'Unesite naziv ekstenzije datoteke:'

#Uzmite naziv ekstenzije datoteke koja će se pretraživati

čitati ekst

#Provjeri vrijednost unosa

ako [ [ $ext == '' ] ] ; zatim

#Ispiši poruku o pogrešci

jeka 'Ne daje se produljenje.'

drugo

jeka 'Imena datoteka sa $ext proširenje:'

#Ispiši sve nazive datoteka s danim nastavkom

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

biti

Sljedeći izlaz se pojavljuje nakon izvršavanja skripte s unosom 'txt'. Prema izlazu, tri tekstualne datoteke postoje na trenutnoj lokaciji:



Nakon izvršavanja skripte s praznom vrijednošću pojavljuje se sljedeći izlaz:

Primjer 3: Izvršite aritmetički izraz u podljusci

Stvorite Bash datoteku sa sljedećom skriptom u kojoj se varijabla istog naziva koristi u glavnoj ljusci i podljusci. Aritmetička operacija definirana je u glavnoj ljusci i podljusci.

#!/bin/bash

#Definirajte nadređenu varijablu ljuske

broj = 10

#Ispiši rezultat na temelju varijable nadređene ljuske

( ( proizlaziti = $broj + 5 ) )

jeka 'Zbroj $broj +5= $rezultat '

#Stvorite varijablu podljuske s istim imenom roditeljske ljuske

( broj = dvadeset ; ( ( proizlaziti = $broj + 10 ) ) ; jeka 'Zbroj $broj +5= $rezultat ' )

#Ponovo ispišite rezultat na temelju varijable nadređene ljuske

jeka 'Zbroj $broj +5= $rezultat '

Nakon izvršavanja skripte pojavljuje se sljedeći izlaz. Prvi i zadnji izlaz prikazuju rezultat glavne ljuske. Drugi izlaz prikazuje rezultat podljuske. Varijabla glavne ljuske nije modificirana varijablom podljuske:

Primjer 4: Izvršite više naredbi u podljusci

Stvorite Bash datoteku sa sljedećom skriptom koja šalje izlaz naredbe 'echo' u naredbu 'sed' koja zamjenjuje odgovarajuću vrijednost niza drugim nizom. Izlaz naredbe “echo” je “JavaScript”. Dakle, ova se vrijednost uspoređuje s 'Javom' i 'JavaScriptom'. Ako se pronađe podudaranje, odgovarajući nizovi zamjenjuju se nizom 'Vrsta'.

#!/bin/bash

#Definirajte vrijednost niza

strVal = 'JavaScript'

#Ispiši izvornu vrijednost niza

jeka 'Vrijednost niza: $strVal '

#Ispiši vrijednost podljuske

jeka -n 'Vrijednost podljuske: '

jeka ' $(echo $strVal | sed 's|Java|JavaScript Type|') '

Nakon izvršavanja skripte pojavljuje se sljedeći izlaz. Prema izlazu, niz 'Java' zamjenjuje se nizom 'Type'. Izlaz podljuske je 'JavaScript TypeScript':


Zaključak

Jedna ili više naredbi ili skripti mogu se izvršiti pomoću podljuske bez utjecaja na glavnu ljusku. Svrha korištenja podljuske objašnjena je u ovom vodiču na više primjera. Različite vrste zadataka kao što su pretraživanje datoteka, izračunavanje zbroja brojeva, zamjena znakovnih nizova itd. obavlja podljuska u danim primjerima. Koncept korištenja podljuske ispravno je demonstriran i novi Bash korisnici će sada moći koristiti podljusku nakon čitanja ovog vodiča.