Argumenttimuuttujien käyttäminen:
Argumenttimuuttuja alkaa $ 0: sta. Pääskriptitiedoston nimi tallennetaan arvoon $ 0, joka vastaanottaa argumenttiarvot komentoriviargumenteista. Jos komentorivillä annetaan kaksi argumenttia, argumenttien arvot vastaanotetaan muuttujissa $ 1 ja $ 2 peräkkäin.
Esimerkki -1: Kolmen numeerisen arvon lähettäminen argumentteina
Luo bash -tiedosto ja lisää seuraava koodi. Komentosarja saa kolme argumenttiarvoa ja tallentaa $ 1, $ 2 ja $ 3. Se laskee argumenttien kokonaismäärän, tulostaa argumenttien arvot silmukalla ja ilman silmukkaa. Tulosta lopuksi kaikkien argumenttiarvojen summa.
#!/bin/bash
# Lasketaan argumenttien kokonaismäärä
heitti pois 'Argumenttien kokonaismäärä: $#'
# Argumenttien lukeminen yksitellen
heitti pois 'Ensimmäinen argumentin arvo: $ 1'
heitti pois 'Toinen argumentin arvo: $ 2'
heitti pois 'Kolmas argumentin arvo: $ 3'
# Argumenttien lukeminen silmukan avulla
vartenargvalsisään '[email protected]'
tehdä
heitti pois -n ''$ argval''
tehty
# Argumenttiarvojen lisääminen
summa= $(($ 1+2 dollaria+3 dollaria))
# tulosta tulos
heitti pois -Ja '' nSumman tulos =$ summa''
Suorita bash -tiedosto kolmella numeerisella argumenttiarvolla.
$lyödäcmdline1.shviisikymmentä 35 viisitoista
Esimerkki -2: Tiedostonimen käyttäminen argumenttina
Luo bash -tiedosto ja lisää seuraava koodi minkä tahansa tiedoston merkkien kokonaismäärän laskemiseksi. Tässä tiedostonimi välitetään komentoriviargumenttina.
#!/bin/bashTiedoston nimi=$ 1
totaalinen hiili=``WC -c $ tiedostonimi``
heitti pois 'Merkkien kokonaismäärä on$ yhteensächar''
Suorita bash -skripti, jonka tiedostonimi on yksi argumentin arvo, ja suorita toinen komento tarkistaaksesi kyseisen tiedoston merkkien kokonaismäärän. Tässä argumentti -arvona käytetään työntekijä.txt -tiedostoa. Työntekijä.txt -tiedoston merkkien kokonaismäärä on 204.
$lyödäcmdline2.sh työntekijä.txt
$WC -ctyöntekijä.txt
Getopts -toiminnon käyttäminen:
Jos haluat tallentaa tietoja tietokantaan tai mihin tahansa tiedostoon tai luoda raportin tietyssä muodossa komentoriviargumenttien arvojen perusteella nousuja toiminto on paras vaihtoehto tehtävän suorittamiseen. Se on sisäänrakennettu linux-toiminto. Joten voit helposti käyttää tätä toimintoa komentosarjassasi lukemaan muotoiltuja tietoja komentoriviltä.
Esimerkki -1: Argumenttien lukeminen getopts -funktion avulla
Luo bash -tiedosto ja lisää seuraava komentosarja ymmärtääksesi sen käyttöä nousuja toiminto. Getopts -toimintoa käytetään while -silmukan kanssa komentorivin argumenttivaihtoehtojen ja argumenttien arvojen lukemiseen. Tässä käytetään 4 vaihtoehtoa, jotka ovat 'Minä', 'n', 'm' ja 'Ja' . case -lausetta käytetään vastaamaan tiettyä vaihtoehtoa ja tallentamaan argumentin arvo muuttujaan. Tulosta lopuksi muuttujan arvot.
#!/bin/bashsillä aikaa nousuja ':minussa:'vihainen;tehdä
tapaus $ arg sisään
i) ID=$ OPTARG;;
n) Nimi=$ OPTARG;;
m) Valmistuspäivä=$ OPTARG;;
Ja) Viimeinen käyttöpäivä=$ OPTARG;;
esac
tehty
heitti pois -Ja '' n$ ID $ Nimi $ Manufacturing_date $ Expire_date n''
Suorita tiedosto seuraavilla asetuksilla ja argumenttiarvoilla. Tässä p100 on -i -arvon arvo, 'Hot Cake' on -n -vaihtoehdon arvo, '01-01-2018 'on -m -vaihtoehdon arvo ja '06-01-2018 ′ on arvon - e vaihtoehto.
$lyödäcmdline3.sh-ip001-n 'Kuuma kakku' -m '01-01-2018 ' -Ja '06-01-2018 '
Kun sinun on lähetettävä yksinkertaisia arvoja komentosarjassa, on parempi käyttää argumenttimuuttujia. Mutta jos haluat lähettää tietoja muotoilulla tavalla, on parempi käyttää getopts -funktiota argumenttien arvojen noutamiseen. Katso lisätietoja katsomalla video !