logo

Bash-muuttujat

Muuttujat ovat olennainen osa ohjelmointia, tai voimme sanoa, että ne ovat ohjelmointikielen henkeä. Muuttujat määrittävät muistipaikan merkkien, numeeristen ja aakkosnumeeristen merkintöjen avulla. Niihin viitataan ja niitä käsitellään tietokoneohjelmassa.

Mitkä ovat muuttujat?

Muuttujat ovat säiliöitä, jotka tallentavat dataa tai hyödyllistä tietoa arvonaan. Alla on muuttujan syntaksi:

 Variable_name =value 

Muuttuja on kahden sanan yhdistelmämuoto, eli vari + voi, mikä tarkoittaa, että sen arvoa voidaan muuttaa ja sitä voidaan käyttää useita kertoja.

mikä on f5 näppäimistössä

Muuttuja tunnetaan tilapäisenä tallennuspaikkana kaikenlaisille tiedoille, kuten kokonaisluku, float, char jne. Muuttujan nimi voi sisältää aakkoset, numerot ja alaviivat , ja sen nimi voidaan aloittaa vain aakkosilla ja alaviivalla.

Huomautus: Emme voi määrittää muuttujan nimeä, joka alkaa millä tahansa numerolla.

Mitä ovat Bash-muuttujat?

Emme voi käyttää bash-muuttujia ilman oikeaa tietoa ( syntaksi, tietotyypit, tyypit, toiminta ) siitä, joten käydään läpi tämä lyhyt opetusohjelma saadaksesi oikean yleiskuvan Bash-muuttujista.

Aluksi tunne syntaksi.

Syntaksi:

 Variable_name=value 

Bash-muuttujien määrittelyn säännöt:

  1. Kiinnitä muuttujan nimen eteen dollarimerkki ($), kun luet tai tulostat muuttujaa.
  2. Jätä dollarimerkki ($) pois, kun asetat muuttujan millä tahansa arvolla.
  3. Muuttujan nimi voi olla aakkosnumeerinen tai se voidaan kirjoittaa alaviivalla (_).
  4. Muuttujan nimessä kirjainkoolla on merkitystä: x ja X katsotaan kahtena eri muuttujana.
  5. muuttujan nimi voidaan kirjoittaa joko isoilla kirjaimilla tai pienillä kirjaimilla tai molempien yhdistelmällä.
  6. Muuttuja voidaan sijoittaa mihin tahansa kohtaan Bash-komentosarjassa tai komentoriville, koska ajon aikana Bash korvaa sen sille määritetyllä arvolla. Se tuli mahdolliseksi, koska vaihto tehtiin ennen komennon suorittamista.
  7. Muuttujan nimen ja sen arvon välissä ei saa olla välilyöntejä yhtäläisyysmerkin (=) kummallakaan puolella. Seuraavassa on muutamia esimerkkejä Virheelliset muuttujat joiden välissä on välilyönnit (merkitty pisteillä...) alla olevan mukaisesti:
    var1=...muuttuja1
    var2...=muuttuja2
    var3...=...muuttuja3
  8. Ei ole tarvetta käyttää lainausmerkkejä, joko yksittäisiä tai kaksoismerkkejä, määritettäessä muuttujaa, jolla on yksimerkkinen arvo, kuten esim. var1=muuttuja . Jos haluat syöttää useita sanoja tai merkkijonon yhtenä kohteena muuttujaan, käytä sitten lainausmerkkejä sisällyttääksesi sisältösi kyseiseen muuttujaan.
    • Yksittäinen lainaus ('') auttaa käsittelemään jokaista hahmoa.
    • Double Quote ('') auttaa vaihtamisessa.

Tietotyypit

Muodallisissa ohjelmointikielissä sinun on määritettävä minkä tahansa muuttujan tietotyyppi muuttujan ilmoittamisen yhteydessä. Esimerkiksi:

 int year=2012 char comp_name='jtp' 

Mutta Bashin tapauksessa sinun ei tarvitse määrittää minkään muuttujan tietotyyppiä muuttujan ilmoittamisen yhteydessä. Bash-muuttujat ovat kirjoittamaton , mikä tarkoittaa, että kirjoitat vain muuttujan nimen määrittämällä sen arvon, ja se ottaa automaattisesti huomioon kyseisen tietotyypin.

Sellaisen, että jos annat muuttujalle minkä tahansa numeerisen arvon, se toimii kokonaislukuna ja jos annat muuttujalle merkkiarvon, se on merkkijono.

 year=2012 comp_name=jtp 

käyttämällä echo-komentoa, lue ne lisäämällä $-merkki ennen niiden nimeä, kuten

echo $vuosi
echo $nimi

Bash-muuttujien tyypit

Shellissä tai missä tahansa UNIX-järjestelmässä on kahdenlaisia ​​muuttujia.

  1. Järjestelmän määrittämät muuttujat
  2. Käyttäjän määrittämät muuttujat

1. Järjestelmän määrittämät muuttujat: Nämä ovat ennalta määritettyjä muuttujia, joita itse LINUX-käyttöjärjestelmä luo ja ylläpitää. Niiden vakiokäytäntö on, että yleensä ne määritellään isoilla kirjaimilla, eli SUURIN_KIRJAIN. Joten aina kun näet muuttujan määriteltynä isoilla kirjaimilla, ne ovat todennäköisesti järjestelmän määrittämiä muuttujia.

Nämä ovat seuraavat järjestelmän määrittämät muuttujat, kuten alla:

1. BASH edustaa Shellin nimeä.

Esimerkki:

 BASH=/usr/bin/bash 

2. BASH_VERSION määrittää komentotulkkiversion, jonka Bash sisältää.

Esimerkki:

 BASH_VERSION=4.2.46(2) 

3. SARAKE määritä nro. sarakkeita näytöllemme.

Esimerkki:

 COLUMNS=80 

4. KOTI määrittää käyttäjän kotihakemiston.

Esimerkki:

 HOME=/home/jatpoint 

5. LOGNAME määrittää lokiin kirjautuvan käyttäjänimen.

Esimerkki:

 LOGNAME=javatpoint 

6. OSTYPE kertoo käyttöjärjestelmän tyypin.

Esimerkki:

 OSTYPE=linux-gnu 

7. PWD edustaa nykyistä työhakemistoa.

Esimerkki:

 PWD=/home/javatpoint 

8. KÄYTTÄJÄNIMI määrittää tällä hetkellä kirjautuneen käyttäjän nimen.

Esimerkki:

 USERNAME=javatpoint 

Näet luettelon näistä muuttujista järjestelmässäsi kirjoittamalla komennot asettaa, env , ja printenv komentorivipäätteessä seuraavasti:

1. Kirjoita aseta komento.

Lähtö:

Bash-muuttujat

2. Kirjoita env komento

Lähtö:

Bash-muuttujat

3. Kirjoita printenv-komento

Lähtö:

Bash-muuttujat

Kutsutaan näitä muuttujia Bash Shellin kautta. Seuraavat ovat annetut vaiheet:

Vaihe 1: Luo komentosarja, jonka nimi on Bash_sdvar, ja kirjoita seuraava koodi Bash-konsoliin seuraavasti:

 #! /bin/bash # Bash System-defined Variables echo $HOME # Home Directory echo $PWD # current working directory echo $BASH # Bash shell name echo $BASH_VERSION # Bash shell Version echo $LOGNAME # Name of the Login User echo $OSTYPE # Type of OS 

Vaihe 2. Katso alla olevaa Bash-konsolia:

Bash-muuttujat

Vaihe 3. Tallenna ja suorita komentosarja. Se näyttää tulosteen, kuten näet alla olevasta kuvasta.

Lähtö:

Bash-muuttujat

2. Käyttäjän määrittämät muuttujat: Käyttäjä luo nämä muuttujat ja ylläpitää niitä. Yleensä tämäntyyppiset muuttujat määritellään LOWER_CASES. Ei ole tiukkaa sääntöä näiden muuttujien kirjoittamiselle pienillä kirjaimilla. Voimme kirjoittaa ne myös isoilla kirjaimilla.

Luodaan Bash-skripti näiden muuttujien määrittelemiseksi. Noudata alla annettuja ohjeita:

Vaihe 1. Luo skripti, jonka nimi on bash_yard ja kirjoita seuraava koodi Bash-konsoliin:

 #! /bin/bash # User-Defined Variables name=Peter ROLL_NO=5245325 echo 'The student name is $name and his Roll number is $ROLL_NO.' 

Vaihe 2. Katso koodi Bash-konsolista.

Bash-muuttujat

Vaihe 3. Tallenna ja suorita komentosarja.

Lähtö:

Bash-muuttujat

Bash-muuttujien työskentely

Muuttujien perusesittelyn jälkeen siirrytään tietämään, miten ne toimivat?

Suoritamme tavallisesti kaksi toimintoa muuttujalle Bashissa alla kuvatulla tavalla:

  • asettamalla arvon muuttujalle
  • arvon lukeminen sitä varten.

Muuttujan arvo voidaan asettaa eri tavoilla, joista yleisin tapa on asettaa arvo suoraan. Jos haluat lukea muuttujan, voimme sijoittaa sen nimen (etuliite $-merkillä) mihin tahansa skriptin kohtaan.

Bash tarkistaa ensin kaikki muuttujien nimet ikään kuin ne olisivat skriptissä. Sitten se tulkitsee käsikirjoituksemme jokaisen rivin. Kun jokainen muuttuja on tunnistettu, se korvaa muuttujan nimen sille määritetyllä arvolla. Loppujen lopuksi se tulkitsee/suorittaa kyseisen koodirivin ja jatkaa tätä prosessia jokaiselle skriptimme koodatulle riville.

HUOMAUTUS: Molemmat Bashin muuttujat (keskustelimme) toimivat sekä päätteessä että Bash-skriptissä. Katso heidän työstään terminaalissa ja Bashissa suoran esimerkin kautta:

Esimerkki: Soita käyttäjänimelle XYZ, hänen sijaintinsa, jossa hän tällä hetkellä työskentelee, ja Bash Shell -versio, jota hän käyttää Bash-komentosarjaan.

1. Työskentely terminaalissa

Bash-muuttujat

2. Työskentely Bash Shellin parissa

Katso alla oleva Bash_Varin nimeämä komentosarja:

Bash-muuttujat

Vuonna 3rdkäsikirjoituksen rivi , julistimme muuttujan USER_NAME tallentaaksesi käyttäjänimen XYZ sen arvona.

Kahdella viimeisellä rivillä , olemme tulostaneet tarkoitetun viestin käyttämällä kaiku komento.

Tässä viestissä on kaksi muuttujaa ja yksi komento. Jokaista niistä edeltää dollari ($), jossa:

    USER_NAMEon käyttäjän määrittämä muuttuja käyttäjänimen kutsumiseksi,BASH_VERSIONon järjestelmän määrittelemä muuttuja, joka kuori kutsuu itseään. Sitä käytetään Bash Shellin version tulostamiseen,PWDkomentoa käytetään tulostamaan käyttäjän nykyinen sijainti.

Jotta ymmärrät paremmin, luo tämä komentosarja noudattamalla annettua koodia:

 #! /bin/bash #Bash Variables USER_NAME=XYZ echo Hey there! $USER_NAME is any user currently working on the directory $PWD with Bash Shell Version $BASH_VERSION. 

Se näyttää tulosteen, kuten näet seuraavassa kuvassa:

Lähtö:

Bash-muuttujat

On olemassa muutamia esimerkkejä muuttujien harjoittamisesta sekä terminaalissa että Bash Shellissä. Seuraamalla sääntösarja (käsitelty aiemmin) käytä muuttujia seuraavasti:

A. Käytä komentorivipäätettä

1. Muuttujien asettaminen

Bash-muuttujat

2. Muuttujien lukeminen ja viittaus

Bash-muuttujat

3. Virheelliset muuttujat

Bash-muuttujat

4. Kahden merkkijonomuuttujan yhdistäminen

Bash-muuttujat

5. Merkkijonojen ketjuttaminen muuttujien kanssa

Bash-muuttujat

HUOMAA: Älä käytä yksittäisiä lainausmerkkejä kahden muuttujan yhdistämiseen tai merkkijonojen ketjuttamiseen muuttujien kanssa. Sellaista, että jos ketjutat merkkijonot liittämällä ne yksittäisiin lainausmerkkeihin, niiden lukeminen epäonnistuu, kuten alla olevassa kuvassa näkyy:

Bash-muuttujat

B. Bash-komentosarjan käyttäminen:

Se on esimerkki merkkijonomuuttujien yhdistäminen.

Bash-muuttujat

Lähtö:

Bash-muuttujat

Komentorivi-argumentit

Komentoriviargumentteja käytetään tekemään komentosarjasta dynaamisempi välittämällä syöte koodiin. Välitämme nämä argumentit skriptin ajon aikana seuraavassa muodossa:

 ./script_name arg1 arg2 arg3..... 

Skriptin nimen ja kaikkien ohitusargumenttien välissä ei saa olla välilyöntiä.

Kuinka käyttää komentorivin argumentteja?

Bash Shellissä niitä käytetään viitaten seuraaviin oletusparametreihin tai erikoismuuttujiin.

    0 dollariamäärittää kutsuttavan skriptin nimen.-tallentaa 9 ensimmäisen argumentin nimet tai sitä voidaan käyttää argumenttien paikoissa.$#määrittää komentosarjalle välitettyjen argumenttien kokonaismäärän (määrän).$*tallentaa kaikki komentorivin argumentit yhdistämällä ne yhteen.$@tallentaa argumenttiluettelon taulukkona.$?määrittää nykyisen skriptin prosessitunnuksen.$$määrittää viimeisen komennon tai viimeisimmän suoritusprosessin poistumistilan.$!näyttää viimeisen taustatyön tunnuksen.

Seuraavat ovat kaksi menetelmää, joita käytämme komentoriviargumenttien välittämiseen:

Tapa 1: Käytä sijaintinumeroa

Se on ensimmäinen tapa käyttää argumentteja käyttämällä oletusparametreja (...). Alla oleva kuva selittää asian:

Bash-muuttujat

Lähtö:

Bash-muuttujat

Tapa 2: Array.

Se on toinen tapa välittää argumentit taulukkona. Käytä tätä menetelmää noudattamalla annettua algoritmia.

Vaihe 1: Luo Bash-skripti.

Vaihe 2: Ilmoita minkä tahansa muuttujan nimi ja anna sen arvo muodossa $a seuraavassa muodossa:

 variable_name=('$@') 

Missä $@ on oletusargumentti, jota käytetään argumenttien tallentamiseen (välitämme) taulukkona.

Vaihe 3: Näytä argumentit määrittämällä niiden taulukkoindeksi seuraavassa muodossa:

 ${variable_name[i]} 

Vaihe 4: Tallenna ja sulje komentosarja.

Vaihe 5: Suorita komentosarja välittämällä argumentit.

Katso seuraava ohjelma:

Ohjelmoida:

 #!/bin/bash args=('$@') echo ${args[0]} ${args[1]} ${args[2]} ${args[3]} 

Bash-konsolissa:

Bash-muuttujat

Lähtö:

Bash-muuttujat

Komennon korvaaminen

Bashin virallisen dokumentaation mukaan

'Komennon korvaaminen sallii komennon tulosteen korvata itse komennon. Bash suorittaa laajennuksen suorittamalla komennon subshell-ympäristössä ja korvaamalla komennon korvauksen komennon vakioulostulolla siten, että kaikki rivinvaihdot poistetaan. Upotettuja rivinvaihtoja ei poisteta, mutta ne voidaan poistaa sanan jakamisen aikana.'

Komentokorvaus tarkoittaa laajennusta, jonka Bash suorittaa meille. Se ottaa Bash-komennon lähdön, tallentaa muuttujan (yleensä) ja näyttää takaisin kaiun kanssa.

Komennon korvaaminen tarjoaa datan joustavuutta komentosarjojen ja muuttujien määrittämisen suhteen. Se on yksinkertainen ja helppo käyttää yhden komentorivin lähtöä. Jos tuloste menee muutaman rivin yli, uudet rivit poistetaan ja tulosteen koko sisältö päätyy yhdelle riville.

Katso syntaksi käyttöä varten:

Syntaksi

Klassinen muoto komentojen korvaamiseksi muuttujassa tai komentokorvauksessa on takaisinlainausmerkkien (`...`) käyttö, kuten alla on kuvattu:

 variable_name=`command_name` variable_name=`command_name [option...] argument1 argument2...` variable_name=`/path/to/command` 

Nyt teemme komennon korvaamisen merkitsemällä komennot hakasulkeisiin (edellä dollarimerkki ($)). Katso:

 variable_name=$(command_name) variable_name=$(command_name [option...] argument1 argument2...) variable_name=$(path/to/command) 

Tehdään siis komentojen korvaaminen esimerkillä keskustelun mukaisesti.

Tässä esimerkissä korvaamme muuttujan yksittäisen komennon ls. Katso terminaali.

Bash-muuttujat

Rivi 1: Ilman komentojen korvaamista tulos laajenee useilla riveillä.

Rivit 2 ja 3: Komentokorvauksella tulos päättyy yhdelle riville (tilaa säästyy poistamalla uudet rivit).

Seuraavassa on Bash-skripti komennon korvaamisen testaamiseksi.

Ohjelmoida:

 #! /bin/bash # command substitution lsResult=$(ls) echo 'My files are:' $lsResult 

Katso Bash-konsoli:

Bash-muuttujat

Lähtö:

Bash-muuttujat