Shell-skriptikielissä voidaan käyttää kahdenlaisia muuttujia: toinen on kuorimuuttujat ja toinen ympäristömuuttujat. Ympäristömuuttujat toimivat komentosarjakielten globaaleina muuttujina. Ympäristöön liittyvät tiedot, joita käytetään komentosarjan suorittamiseen, tallennetaan ympäristömuuttujiin. Nämä muuttujat tallennetaan avain-arvo-parin perusteella. Muuttujan nimi määritellään avaimella, joka tallentaa muuttujan arvon. Perl-skripti voi asettaa minkä tahansa ympäristömuuttujan arvon tai käyttää sitä. Tässä opetusohjelmassa esitetään tapoja käyttää ja muokata ympäristömuuttujia Perl-komentosarjan avulla.
Ympäristömuuttujien käyttö Perl-komentosarjassa
Tässä opetusohjelman osassa esitetään menetelmät tiettyjen tai kaikkien ympäristömuuttujien käyttämiseksi ja minkä tahansa ympäristömuuttujan nollaamiseksi.
Esimerkki 1: Tulosta tietyt ympäristömuuttujat
Ympäristömuuttujat tallennetaan %ENV-taulukkoon, joka toimii assosiatiivisen taulukon tavoin. Muuttujan nimi on %ENV-taulukon avain ja arvo tallennetaan kyseiseen avaimeen. Luo Perl-tiedosto seuraavalla komentosarjalla, joka tulostaa kolme ympäristömuuttujaa. Nykyinen sisäänkirjautumisen käyttäjänimi on tallennettu muuttujaan $ENV{'USER'}. Nykyinen shell-arvo on tallennettu muuttujaan $ENV{'SHELL'}. Nykyinen työhakemisto on tallennettu muuttujaan $ENV{'PWD'}. Näihin kolmeen muuttujaan päästään ja ne tulostetaan skriptissä.
#!/local/bin/perl
käytä tiukkaa;
käytä varoituksia;
käytä 5.34.0;
#Tulosta kolmen ympäristömuuttujan arvot
sanoa 'Käyttäjänimi on' . $ENV { 'USER' } ;
sanoa 'Nykyinen kuori on' . $ENV { 'KUORI' } ;
sanoa 'Nykyinen työhakemisto on' . $ENV { 'PWD' } ;
Lähtö:
Seuraava samanlainen tulos tulee näkyviin komentosarjan suorittamisen jälkeen:
Esimerkki 2: Tulosta viisi ensimmäistä ympäristömuuttujaa
Luo Perl-tiedosto seuraavalla komentosarjalla lukeaksesi kaikki ympäristömuuttujat sisältävän %ENV-taulukon viisi ensimmäistä arvoa. Tässä 'foreach'-silmukkaa käytetään kaikkien ympäristömuuttujien lukemiseen lajiteltujen avainarvojen perusteella. '$counter'-muuttujaa käytetään komentosarjassa silmukan päättämiseen viiden ympäristömuuttujan tulostamisen jälkeen. '$counter'-muuttuja kasvaa jokaisessa silmukan iteraatiossa, ja kun '$counter' -arvon arvo on 5, 'viimeinen'-käsky suoritetaan silmukasta poistumiseksi.
#!/local/bin/perlkäytä tiukkaa;
käytä varoituksia;
käytä 5.34.0;
#Alusta laskuri
minun $laskuri = 0 ;
#Iteroi silmukka lukeaksesi kaikki ympäristömuuttujat
jokaiselle ( järjestellä avaimet % ENV ) {
#Lue ympäristömuuttujan nimi
minun $avain = $_ ;
#Lue ympäristömuuttujan arvo
minun $arvo = $ENV { $avain } ;
#Tulosta muuttujan nimi arvon kanssa
sanoa ' $avain => $arvo ' ;
#Kasvata laskuria
$laskuri ++;
#Tarkista laskurin arvo
jos ( $laskuri > = 5 )
{
#Lopeta silmukasta
kestää ;
}
}
Lähtö:
Seuraava samanlainen tulos tulee näkyviin komentosarjan suorittamisen jälkeen:
Esimerkki 3: Nollaa ympäristömuuttuja
Edellisissä esimerkeissä ympäristömuuttujien ennalta määritettyihin arvoihin päästään yksitellen ja silmukan avulla. Minkä tahansa ympäristömuuttujan arvoa voidaan kuitenkin muuttaa Perl-komentosarjalla. Luo Perl-tiedosto seuraavalla komentosarjalla, joka tulostaa HOMEn sijainnin, muuttaa sen sijainniksi '/temp/files' ja tulostaa HOMEn sijainnin uudelleen päivityksen jälkeen.
#!/local/bin/perlkäytä tiukkaa;
käytä varoituksia;
käytä 5.34.0;
#Tulosta tietyn ympäristömuuttujan arvo
sanoa 'Kodin nykyinen arvo on' . $ENV { 'KOTI' } ;
#Nollaa ympäristömuuttuja
$ENV { 'KOTI' } = '/temp/files' ;
#Tulosta tietyn ympäristömuuttujan arvo päivityksen jälkeen
sanoa 'Kodin nykyinen arvo on' . $ENV { 'KOTI' } ;
Lähtö:
Seuraava samanlainen tulos tulee näkyviin komentosarjan suorittamisen jälkeen:
Esimerkki 4: Tulosta ympäristömuuttujat muotoilulla
Luo Perl-tiedosto seuraavalla komentosarjalla, joka tulostaa ympäristömuuttujat muotoilulla printf()-funktiolla. Tässä 'foreach' -silmukkaa käytetään kaikkien ympäristömuuttujien lukemiseen, kuten edellisessä esimerkissä. Ympäristömuuttujan avain-arvo-pari tulostetaan lisäämällä kaksoispiste (:) avaimen ja arvon väliin ja jättämällä avaimelle 15 merkin väli.
#!/local/bin/perlkäytä tiukkaa;
käytä varoituksia;
käytä 5.34.0;
#Iteroi silmukka lukeaksesi kaikki ympäristömuuttujat
etene minun $k ( järjestellä avaimet % ENV ) {
#Tulosta ympäristömuuttujien muotoiltu tulos
printf ( '%15s : %s \n ' , $k , $ENV { $k } ) ;
}
Lähtö:
Seuraava samanlainen tulos tulee näkyviin komentosarjan suorittamisen jälkeen. Jotkut tulosteen alussa olevat osat näkyvät tässä:
Johtopäätös
Ympäristömuuttujia käytetään eri tarkoituksiin ja joskus on tarpeen muuttaa tietyn ympäristömuuttujan nykyistä arvoa mitä tahansa ohjelmointitarkoitusta varten. Menetelmät ympäristömuuttujien arvojen saamiseksi ja asettamiseen Perl-komentosarjan avulla on esitetty tämän opetusohjelman esimerkeissä Perl-käyttäjien auttamiseksi.