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:
- Skaitydami arba spausdindami kintamąjį, pridėkite kintamojo pavadinimą dolerio ($) ženklu.
- Palikite dolerio ženklą ($), nustatydami kintamąjį su bet kokia verte.
- Kintamojo pavadinimas gali būti raidinis ir skaitmeninis arba parašytas pabraukimu (_).
- Kintamojo pavadinime skiriamos didžiosios ir mažosios raidės: x ir X laikomi dviem skirtingais kintamaisiais.
- kintamojo pavadinimas gali būti parašytas DIDŽIŲJŲJŲ arba MAŽŲJŲJŲ CASE raidžių arba abiejų deriniu, kaip norite.
- 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.
- 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 - 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.
- Sistemos nustatyti kintamieji
- 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:
2. Įveskite env komandą
Išvestis:
3. Įveskite komandą printenv
Išvestis:
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ę:
3 veiksmas. Išsaugokite ir paleiskite scenarijų. Tai parodys išvestį, kaip matote toliau pateiktame paveikslėlyje.
Išvestis:
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“.
3 veiksmas. Išsaugokite ir paleiskite scenarijų.
Išvestis:
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
2. Darbas su Bash Shell
Žiūrėkite toliau pateiktą scenarijų, pavadintą Bash_Var:
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:
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:
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
2. Kintamųjų skaitymas ir nuoroda į juos
3. Netinkami kintamieji
4. Dviejų eilutės kintamųjų sujungimas
5. Stygų sujungimas su kintamaisiais
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:
B. Bash scenarijaus naudojimas:
Tai pavyzdys derinant String kintamuosius.
Išvestis:
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.
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:
Išvestis:
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:
Išvestis:
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ą.
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ę:
Išvestis: