Erilaisia esimerkkejä Subshellistä
Tässä opetusohjelman osassa esitetään eri tavat suorittaa komentosarja alikuoressa.
Esimerkki 1: Suorita alikuori käyttämällä yhtä lainausta ja kaksoislainausta
Luo Bash-tiedosto seuraavalla komentosarjalla, joka tulostaa nykyisen päivämäärän ja kellonajan. Seuraavaksi tulostetaan $strVal-muuttuja sisällyttämällä alikärjekirjoitus yksittäisiin lainausmerkkeihin ja kaksoislainausmerkkeihin.
#!/bin/bash
#Tulosta `date` -komento alikuoreen
kaiku 'Tänään on `päivämäärä` '
#Määritä merkkijonomuuttuja
strVal = 'Bash Subshell'
#Tulosta alikuoren muuttuja yksittäisillä lainausmerkeillä
kaiku 'Yksittäisten lainausmerkkien tulos:' '$(echo $strVal)'
#Tulosta alikuoren muuttuja lainausmerkeillä
kaiku 'Lainausmerkkien tulos:' ' $(echo $strVal) '
Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen. Subshell-skripti tulostetaan merkkijonona, kun se on liitetty yksittäisiin lainausmerkkeihin. Subshell-skripti suoritetaan, kun sen sisällä on lainausmerkit:
Esimerkki 2: Etsi kaikki tietyn laajennuksen tiedostot alikärjellä
Luo Bash-tiedosto seuraavalla komentosarjalla, joka ottaa tiedostotunnisteen syötteenä käyttäjältä. Seuraavaksi 'ls'-komento suoritetaan alikuoressa etsimään kaikki kyseisen laajennuksen tiedostot.
#!/bin/bash
kaiku -n 'Anna tiedostopäätteen nimi:'
#Ota haettava tiedostopääte
lukea alanumero
#Tarkista syöttöarvo
jos [ [ $ulk == '' ] ] ; sitten
#Tulosta virheilmoitus
kaiku 'Pidennystä ei anneta.'
muu
kaiku 'Tiedostonimet kanssa $ulk laajennus:'
#Tulosta kaikki tiedostonimet annetulla tunnisteella
kaiku ' $( echo `ls *.$ext` ) '
olla
Seuraava tulos tulee näkyviin, kun komentosarja on suoritettu 'txt'-syötteellä. Tulosteen mukaan nykyisessä sijainnissa on kolme tekstitiedostoa:
Seuraava tulos tulee näkyviin, kun komentosarja on suoritettu tyhjällä arvolla:
Esimerkki 3: Suorita aritmeettinen lauseke alikuoressa
Luo Bash-tiedosto seuraavalla skriptillä, jossa samannimistä muuttujaa käytetään pääkuoressa ja alikärjessä. Aritmeettinen operaatio määritellään pää- ja alikuoressa.
#!/bin/bash#Määritä ylätason kuorimuuttuja
määrä = 10
#Tulosta tulos pääkuoren muuttujan perusteella
( ( tulos = $numero + 5 ) )
kaiku 'Summa $numero +5= $tulos '
#Luo alikuorimuuttuja, jolla on sama nimi kuin pääkuoren
( määrä = kaksikymmentä ; ( ( tulos = $numero + 10 ) ) ; kaiku 'Summa $numero +5= $tulos ' )
#Tulosta tulos uudelleen emotuoren muuttujan perusteella
kaiku 'Summa $numero +5= $tulos '
Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen. Ensimmäinen ja viimeinen tulos näyttävät pääkuoren tuloksen. Toinen tulos näyttää alikuoren tuloksen. Pääkuoren muuttujaa ei muuteta alikuoren muuttujalla:
Esimerkki 4: Suorita useita komentoja alikuoressa
Luo Bash-tiedosto seuraavalla komentosarjalla, joka lähettää 'echo'-komennon tulosteen 'sed'-komentoon, joka korvaa vastaavan merkkijonon arvon toisella merkkijonolla. 'Echo'-komennon tulos on 'JavaScript'. Joten tätä arvoa verrataan 'Javaan' ja 'JavaScriptiin'. Jos vastaavuus löytyy, vastaavat merkkijonot korvataan 'Type'-merkkijonolla.
#!/bin/bash#Määritä merkkijonoarvo
strVal = 'JavaScript'
#Tulosta alkuperäinen merkkijonoarvo
kaiku 'Merkkijonoarvo: $strVal '
#Tulosta alikuoren arvo
kaiku -n 'Subshell-arvo:'
kaiku ' $(echo $strVal | sed 's|Java|JavaScript Type|') '
Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen. Tulosteen mukaan 'Java'-merkkijono korvataan 'Type'-merkkijonolla. Alakuoren tulos on 'JavaScript TypeScript':
Johtopäätös
Yksi tai useampi komento tai komentosarja voidaan suorittaa käyttämällä alikuorta vaikuttamatta pääkuoreen. Alakuoren käyttötarkoitukset selitetään tässä opetusohjelmassa useiden esimerkkien avulla. Eri tyyppiset tehtävät, kuten tiedostojen etsiminen, lukujen summan laskeminen, merkkijonojen korvaaminen jne., suoritetaan annetuissa esimerkeissä alikärjellä. Alikuoren käyttökonsepti on asianmukaisesti esitelty, ja uudet Bash-käyttäjät voivat nyt käyttää alikuorta tämän opetusohjelman luettuaan.