logo

Bash kintamieji

Kintamieji yra esminė programavimo dalis, arba galime sakyti, kad jie yra programavimo kalbos dvasia. Kintamieji nurodo atminties vietą simboliais, skaitiniais ir raidiniais ir skaitiniais. Jie naudojami kompiuterinėje programoje nurodyti ir manipuliuoti.

Kokie yra kintamieji?

Kintamieji yra konteineriai, kuriuose saugomi duomenys arba naudinga informacija kaip jų reikšmė. Toliau pateikiama kintamojo sintaksė:

 Variable_name =value 

Kintamasis yra kombinuota dviejų žodžių forma, t. y. vary + gali, o tai reiškia, kad jo reikšmę galima keisti ir naudoti kelis kartus.

Skirtumas tarp programos ir scenarijaus

Kintamasis yra žinomas kaip laikina bet kokių duomenų saugykla, pvz., sveikasis skaičius, float, char ir kt. Kintamojo pavadinimas gali apimti abėcėlė, skaitmenys ir apatinis brūkšnys , o jo pavadinimą galima pradėti tik abėcėlėmis ir pabraukimu.

Pastaba: negalime apibrėžti kintamojo pavadinimo, prasidedančio bet kokiu skaitmeniu.

Kas yra Bash kintamieji?

Negalime naudoti bash kintamųjų neturėdami tinkamos informacijos ( sintaksė, duomenų tipai, tipai, veikimas ).

Iš pradžių žinokite sintaksę.

Sintaksė:

 Variable_name=value 

Bash kintamųjų apibrėžimo taisyklės:

  1. Skaitydami arba spausdindami kintamąjį, pridėkite kintamojo pavadinimą dolerio ($) ženklu.
  2. Palikite dolerio ženklą ($), nustatydami kintamąjį su bet kokia verte.
  3. Kintamojo pavadinimas gali būti raidinis ir skaitmeninis arba parašytas pabraukimu (_).
  4. Kintamojo pavadinime skiriamos didžiosios ir mažosios raidės: x ir X laikomi dviem skirtingais kintamaisiais.
  5. kintamojo pavadinimas gali būti parašytas DIDŽIŲJŲJŲ arba MAŽŲJŲJŲ CASE raidžių arba abiejų deriniu, kaip norite.
  6. Kintamasis gali būti dedamas bet kurioje „Bash“ scenarijaus vietoje arba komandinėje eilutėje, nes vykdymo metu „Bash“ jį pakeis priskirta reikšme. Tai tapo įmanoma, nes prieš paleidžiant komandą buvo atliktas pakeitimas.
  7. Abiejose lygybės ženklo (=) pusėse tarp kintamojo pavadinimo ir jo reikšmės neturėtų būti tarpų. Toliau pateikiami keli pavyzdžiai Netinkami kintamieji tarp jų yra tarpų (žymimų taškais ...), kaip nurodyta toliau:
    var1=...kintamasis1
    var2...=kintamasis2
    var3...=...kintamasis3
  8. Norint apibrėžti kintamąjį su vieno simbolio reikšme, nereikia naudoti jokių kabučių, nei vienos, nei dvigubos. var1=kintamasis . Norėdami įvesti kelis žodžius arba eilutę kaip vieną elementą kintamajame, naudokite kabutes, kad įtrauktumėte turinį į tą kintamąjį.
    • Viena citata ('') padeda elgtis su kiekvienu veikėju.
    • Dviguba citata ('') padeda pakeisti.

Duomenų tipai

Oficialiose programavimo kalbose kintamojo deklaravimo metu turite apibrėžti bet kurio kintamojo duomenų tipą. Pavyzdžiui:

 int year=2012 char comp_name='jtp' 

Tačiau Bash atveju kintamojo deklaravimo metu nereikia apibrėžti jokio kintamojo duomenų tipo. Bash kintamieji yra nespausdintas , o tai reiškia, kad tiesiog įveskite kintamojo pavadinimą, priskirdami jo reikšmę, ir jis automatiškai atsižvelgs į tą duomenų tipą.

Taip, kad jei kintamajam priskirsite kokią nors skaitinę reikšmę, jis veiks kaip sveikasis skaičius, o jei kintamajam priskirsite simbolio reikšmę, tai bus eilutė.

 year=2012 comp_name=jtp 

naudodami echo komandą, perskaitykite juos priskirdami $ ženklą prieš jų pavadinimą, pvz.,

aidas $ metai
echo $vardas

Bash kintamųjų tipai

Yra dviejų tipų kintamieji apvalkale arba bet kurioje UNIX sistemoje.

  1. Sistemos nustatyti kintamieji
  2. Vartotojo nustatyti kintamieji

1. Sistemos nustatyti kintamieji: Tai yra iš anksto nustatyti kintamieji, kuriuos sukuria ir prižiūri pati LINUX operacinė sistema. Jų standartinė taisyklė yra ta, kad paprastai jie apibrėžiami didžiosiomis raidėmis, t. Taigi, kai matote kintamąjį, apibrėžtą didžiosiomis raidėmis, greičiausiai tai yra sistemos nustatyti kintamieji.

Tai yra šie sistemos apibrėžti kintamieji, kaip nurodyta toliau:

1. BASH reiškia Shell pavadinimą.

Pavyzdys:

 BASH=/usr/bin/bash 

2. BASH_VERSION nurodo apvalkalo versiją, kurią turi Bash.

Pavyzdys:

 BASH_VERSION=4.2.46(2) 

3. Stulpeliai nurodykite nr. stulpelių mūsų ekranui.

Pavyzdys:

 COLUMNS=80 

4. NAMAI nurodo vartotojo namų katalogą.

Pavyzdys:

 HOME=/home/jatpoint 

5. LOGNAME nurodo registravimo vartotojo vardą.

Pavyzdys:

 LOGNAME=javatpoint 

6. OSTIPAS nurodo OS tipą.

Pavyzdys:

 OSTYPE=linux-gnu 

7. Darbuotojai reiškia dabartinį darbo katalogą.

Pavyzdys:

 PWD=/home/javatpoint 

8. VARTOTOJO VARDAS nurodo šiuo metu prisijungusio vartotojo vardą.

Pavyzdys:

 USERNAME=javatpoint 

Norėdami sužinoti šių kintamųjų sąrašą savo sistemoje, įveskite komandas rinkinys, env , ir printenv komandų eilutės terminale taip:

1. Įveskite rinkinys komandą.

Išvestis:

Bash kintamieji

2. Įveskite env komandą

Išvestis:

Bash kintamieji

3. Įveskite komandą printenv

Išvestis:

Bash kintamieji

Pavadinkime šiuos kintamuosius per Bash Shell. Toliau pateikiami nurodyti veiksmai:

1 žingsnis: Sukurkite scenarijų, pavadintą Bash_sdvar, ir Bash konsolėje įveskite šį kodą taip:

 #! /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 

2 žingsnis. Pažvelkite į žemiau pateiktą „Bash“ konsolę:

Bash kintamieji

3 veiksmas. Išsaugokite ir paleiskite scenarijų. Tai parodys išvestį, kaip matote toliau pateiktame paveikslėlyje.

Išvestis:

Bash kintamieji

2. Vartotojo nustatyti kintamieji: Šiuos kintamuosius sukuria ir prižiūri vartotojas. Paprastai šie kintamųjų tipai apibrėžiami LOWER_CASES. Nėra griežtos taisyklės, kaip šiuos kintamuosius rašyti mažosiomis raidėmis. Galime rašyti ir didžiosiomis raidėmis.

Sukurkime Bash scenarijų šiems kintamiesiems apibrėžti. Atlikite toliau nurodytus veiksmus:

1 žingsnis. Sukurkite scenarijų, pavadintą bash_yard ir Bash Console įveskite šį kodą:

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

2 žingsnis. Peržiūrėkite kodą „Bash Console“.

Bash kintamieji

3 veiksmas. Išsaugokite ir paleiskite scenarijų.

Išvestis:

Bash kintamieji

Bash kintamųjų darbas

Baigę pagrindinį kintamųjų demonstravimą, išsiaiškinkime, kaip jie veikia?

Yra du veiksmai, kuriuos paprastai atliekame su Bash kintamuoju, kaip nurodyta toliau:

  • nustatant vertę kintamajam
  • vertės skaitymas už jį.

Kintamojo reikšmę galima nustatyti įvairiais būdais, o labiausiai paplitęs būdas yra nustatyti reikšmę tiesiogiai. Norėdami perskaityti kintamąjį, galime įdėti jo pavadinimą (priešdėlis su $ ženklu) bet kurioje scenarijaus vietoje.

Bash pirmiausia patikrina visus kintamųjų pavadinimus taip, lyg jie būtų scenarijuje. Tada ji interpretuoja kiekvieną mūsų scenarijaus eilutę. Nustačius kiekvieną kintamąjį, jis pakeičia kintamojo pavadinimą jam priskirta reikšme. Galų gale, jis interpretuoja / paleidžia tą kodo eilutę ir tęsia šį procesą kiekvienai užkoduotai mūsų scenarijaus eilutei.

PASTABA: Abu Bash kintamųjų tipai (mes aptarėme) veikia ir terminale, ir Bash scenarijuje. Pažiūrėkime, kaip jie dirba su terminalu ir „Bash“ per paprastą pavyzdį:

Pavyzdys: Iškvieskite XYZ vartotojo vardą, jo vietą, kurioje jis šiuo metu dirba, ir „Bash Shell“ versiją, kurią jis naudoja „Bash Scripting“.

1. Darbas terminale

Bash kintamieji

2. Darbas su Bash Shell

Žiūrėkite toliau pateiktą scenarijų, pavadintą Bash_Var:

Bash kintamieji

3rdscenarijaus eilutė , paskelbėme kintamąjį VARTOTOJO VARDAS išsaugoti vartotojo vardą XYZ kaip jo vertė.

Paskutinėse dviejose eilutėse , mes išspausdinome numatytą pranešimą naudodami aidas komandą.

Šiame pranešime yra du kintamieji ir viena komanda. Prieš kiekvieną iš jų yra dolerio ($) ženklas, kur:

    VARTOTOJO VARDASyra vartotojo nustatytas kintamasis, skirtas vartotojo vardui iškviesti,BASH_VERSIONyra sistemos apibrėžtas kintamasis, kurį apvalkalas vadina pats. Jis naudojamas Bash Shell versijai spausdinti,PWDkomanda naudojama dabartinei vartotojo vietai atspausdinti.

Norėdami geriau suprasti, sukurkite šį scenarijų vadovaudamiesi nurodytu kodu:

 #! /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. 

Tai parodys išvestį, kaip matote šiame paveikslėlyje:

Išvestis:

Bash kintamieji

Yra ir daugiau pavyzdžių, kaip naudoti kintamuosius terminale ir „Bash Shell“. Vadovaudamiesi taisyklių rinkinys (aptarta anksčiau) turėti praktikos su kintamaisiais taip:

A. Komandinės eilutės terminalo naudojimas

1. Kintamųjų nustatymas

Bash kintamieji

2. Kintamųjų skaitymas ir nuoroda į juos

Bash kintamieji

3. Netinkami kintamieji

Bash kintamieji

4. Dviejų eilutės kintamųjų sujungimas

Bash kintamieji

5. Stygų sujungimas su kintamaisiais

Bash kintamieji

PASTABA: nenaudokite pavienių kabučių, kad derintumėte du kintamuosius, taip pat sujungdami eilutes su kintamaisiais. Taip, kad jei sujungsite eilutes įterpdami jas į atskiras kabutes, jų nepavyks perskaityti, kaip matote toliau pateiktame paveikslėlyje:

Bash kintamieji

B. Bash scenarijaus naudojimas:

Tai pavyzdys derinant String kintamuosius.

Bash kintamieji

Išvestis:

Bash kintamieji

Komandinės eilutės argumentai

Komandinės eilutės argumentai naudojami norint padaryti scenarijų dinamiškesnį perduodant įvestį kodui. Scenarijaus vykdymo metu perduodame šiuos argumentus tokia forma:

 ./script_name arg1 arg2 arg3..... 

Tarp scenarijaus pavadinimo ir visų perduodamų argumentų neturėtų būti tarpo.

Kaip naudoti komandinės eilutės argumentus?

„Bash Shell“ jie naudojami su nuoroda į šiuos numatytuosius parametrus arba specialius kintamuosius.

    0 USDnurodo scenarijaus, kurį reikia iškviesti, pavadinimą.-išsaugo pirmųjų 9 argumentų pavadinimus arba gali būti naudojamas kaip argumentų pozicijos.$#nurodo bendrą scenarijui perduodamų argumentų skaičių (skaičius).$*išsaugo visus komandinės eilutės argumentus, juos sujungdama.$@išsaugo argumentų sąrašą kaip masyvą.$?nurodo dabartinio scenarijaus proceso ID.$$nurodo paskutinės komandos arba paskutinio vykdymo proceso išėjimo būseną.$!rodo paskutinės foninės užduoties ID.

Toliau pateikiami du metodai, kuriuos naudojame komandinės eilutės argumentams perduoti:

1 būdas: pozicijos numerio naudojimas

Tai pirmasis būdas pasiekti argumentus naudojant numatytuosius parametrus (...). Žemiau esančiame paveikslėlyje tai paaiškinama:

Bash kintamieji

Išvestis:

Bash kintamieji

2 būdas: masyvo naudojimas.

Tai antras būdas perduoti argumentus kaip masyvą. Norėdami taikyti šį metodą, vadovaukitės pateiktu algoritmu.

1 žingsnis: Sukurkite Bash scenarijų.

2 žingsnis: Deklaruokite bet kurio kintamojo pavadinimą ir priskirkite jo reikšmę kaip $a tokia forma:

 variable_name=('$@') 

Kur $@ yra numatytasis argumentas, naudojamas argumentams saugoti (perduodame) kaip masyvą.

3 veiksmas: Pateikite argumentus apibrėždami jų masyvo indeksą tokia forma:

 ${variable_name[i]} 

4 veiksmas: Išsaugokite ir uždarykite scenarijų.

5 veiksmas: Vykdykite scenarijų perduodant argumentus.

Žiūrėkite šią programą:

Programa:

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

„Bash“ konsolėje:

Bash kintamieji

Išvestis:

Bash kintamieji

Komandų pakeitimas

Remiantis oficialiais Bash dokumentais

„Komandos pakeitimas leidžia komandos išvestimi pakeisti pačią komandą. Bash atlieka išplėtimą vykdydamas komandą subshell aplinkoje ir pakeisdamas komandos pakeitimą standartine komandos išvestimi, ištrinant visas naujas eilutes. Įterptos naujos eilutės nėra ištrinamos, tačiau jos gali būti pašalintos žodžių skaidymo metu.'

Komandų pakeitimas reiškia išplėtimą, kurį Bash atlieka mums. Jis paima komandos „Bash“ išvestį, išsaugo kintamąjį (paprastai) ir rodomas su aidu.

Komandų pakeitimas suteikia duomenų lankstumo scenarijų ir kintamųjų priskyrimo srityje. Tai paprasta ir lengva turėti vienos komandinės eilutės išvestį. Tuo atveju, jei išvestis viršija kelias eilutes, tada naujai pasibaigusios eilutės pašalinamos, o visas išvesties turinys patenka į vieną eilutę.

Žr. naudojimo sintaksę:

Sintaksė

Klasikinė komandų keitimo kintamajame arba komandų pakeitimo forma yra atgalinių kabučių (`...`) naudojimas, kaip nurodyta toliau:

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

Dabar komandų pakeitimas atliekamas skliausteliuose (prieš juos yra dolerio ženklas ($)). Pažvelk:

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

Taigi, pakeiskime komandą pavyzdžiu, kaip nurodyta diskusijoje.

Šiame pavyzdyje kintamajame pakeičiame vieną komandą ls. Pamatykite terminalą.

Bash kintamieji

1 eilutė: Nekeičiant komandos, išvestis išplečiama keliomis eilutėmis.

2 ir 3 eilutės: Pakeitus komandą, išvestis baigiama vienoje eilutėje (sutaupoma vietos pašalinus naujas eilutes).

Toliau pateikiamas „Bash“ scenarijus, skirtas išbandyti komandos pakeitimą.

Programa:

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

Žiūrėkite „Bash“ konsolę:

Bash kintamieji

Išvestis:

Bash kintamieji