Spremenljivke so bistveni del programiranja ali lahko rečemo, da so duh programskega jezika. Spremenljivke določajo pomnilniško lokacijo z znaki, številskimi in alfanumeričnimi. Uporabljajo se za sklicevanje in manipulacijo v računalniškem programu.
Kaj so spremenljivke?
Spremenljivke so vsebniki, ki shranjujejo podatke ali uporabne informacije kot vrednost v njih. Spodaj je sintaksa za spremenljivko:
Variable_name =value
Spremenljivka je kombinirana oblika dveh besed, tj. variirati + zmožen, kar pomeni, da je njeno vrednost mogoče spremeniti in uporabiti večkrat.
jsp javatpoint
Spremenljivka je znana kot začasna shramba za vse vrste podatkov, kot so celo število, float, char itd. Ime spremenljivke lahko vključuje črke, številke in podčrtaj , njegovo ime pa se lahko začne samo s črkami in podčrtajem.
Opomba: Ne moremo definirati imena spremenljivke, ki se začne s katero koli številko.
Kaj so spremenljivke Bash?
Ne moremo uporabiti spremenljivk bash brez ustreznih informacij ( sintaksa, tipi podatkov, tipi, delovanje ) o tem, zato pojdimo skozi to kratko vadnico za ustrezen pregled spremenljivk Bash.
Najprej spoznajte sintakso.
Sintaksa:
Variable_name=value
Nabor pravil za definiranje spremenljivk Bash:
- Med branjem ali tiskanjem spremenljivke pred ime spremenljivke dodajte znak za dolar ($).
- Pri nastavljanju spremenljivke s poljubno vrednostjo izpustite znak za dolar ($).
- Ime spremenljivke je lahko alfanumerično ali pa je napisano s podčrtajem (_).
- Ime spremenljivke razlikuje med velikimi in malimi črkami: x in X se obravnavata kot dve različni spremenljivki.
- ime spremenljivke je lahko zapisano z UPPER_CASE ali LOWER_CASE črkami ali mešanico obeh, kot želite.
- Spremenljivko lahko postavite kamor koli v skriptu Bash ali v ukazni vrstici, ker jo bo Bash med izvajanjem zamenjal z dodeljeno vrednostjo. To je postalo mogoče zaradi izvajanja zamenjave pred izvajanjem ukaza.
- Na obeh straneh enačaja (=) med imenom spremenljivke in njeno vrednostjo ne sme biti presledka. Sledi nekaj primerov Neveljavne spremenljivke med njimi so presledki (označeni s pikami ...), kot je navedeno spodaj:
var1=...spremenljivka1
var2...=spremenljivka2
var3...=...spremenljivka3 - Za definiranje spremenljivke z enoznakovno vrednostjo, kot je npr. var1=spremenljivka . Če želite v spremenljivko vnesti več besed ali niz kot en element, uporabite narekovaje, da svojo vsebino zaprete v to spremenljivko.
- Enojni narekovaj ('') pomaga obravnavati vsak znak.
- Dvojni narekovaj ('') pomaga pri zamenjavi.
Vrste podatkov
V formalnih programskih jezikih morate definirati podatkovni tip katere koli spremenljivke v času deklaracije spremenljivke. Na primer:
int year=2012 char comp_name='jtp'
Toda v primeru Bash vam ni treba definirati podatkovnega tipa nobene spremenljivke v času deklaracije spremenljivke. Spremenljivke bash so netipizirano , kar pomeni, da preprosto vnesete ime spremenljivke tako, da ji dodelite vrednost, in ta tip podatkov bo samodejno upošteval.
Tako, da če spremenljivki dodelite katero koli številsko vrednost, bo delovala kot celo število in če spremenljivki dodelite znakovno vrednost, bo to niz.
year=2012 comp_name=jtp
z uporabo ukaza echo jih preberite tako, da pred njihovim imenom dodelite znak $, kot npr
echo $year
echo $name
Vrste spremenljivk Bash
V lupini ali katerem koli sistemu UNIX obstajata dve vrsti spremenljivk.
- Sistemsko definirane spremenljivke
- Uporabniško definirane spremenljivke
1. Sistemsko definirane spremenljivke: To so vnaprej določene spremenljivke, saj jih ustvari in vzdržuje sam operacijski sistem LINUX. Njihova standardna konvencija je, da so na splošno definirani z velikimi tiskanimi črkami, tj. UPPER_CASE. Kadar koli torej vidite spremenljivko, definirano z velikimi črkami, so to najverjetneje sistemsko definirane spremenljivke.
To so naslednje sistemsko definirane spremenljivke, kot je navedeno spodaj:
1. BASH predstavlja ime lupine.
primer:
BASH=/usr/bin/bash
2. BASH_VERSION določa različico lupine, ki jo ima Bash.
primer:
BASH_VERSION=4.2.46(2)
3. STOLPCI navedite št. stolpcev za naš zaslon.
primer:
COLUMNS=80
4. DOM določa domači imenik za uporabnika.
primer:
HOME=/home/jatpoint
5. LOGIME določa uporabniško ime za beleženje.
primer:
LOGNAME=javatpoint
6. OSTYPE pove tip OS.
primer:
OSTYPE=linux-gnu
7. Oseba z invalidnostjo predstavlja trenutni delovni imenik.
primer:
PWD=/home/javatpoint
8. UPORABNIŠKO IME določa ime trenutno prijavljenega uporabnika.
primer:
USERNAME=javatpoint
Če želite izvedeti seznam teh spremenljivk v vašem sistemu, vnesite ukaze komplet, okolj , in printenv na terminalu ukazne vrstice na naslednji način:
1. Vnašanje set ukaz.
Izhod:
2. Vnašanje okolj ukaz
Izhod:
3. Vnesite ukaz printenv
Izhod:
Pokličimo te spremenljivke prek Bash Shell. Sledijo navedeni koraki:
Korak 1: Ustvarite skript z imenom Bash_sdvar in v konzolo Bash vnesite naslednjo kodo, kot sledi:
#! /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. korak Poglejte spodaj navedeno konzolo Bash:
3. korak Shranite in izvedite skript. Prikazal bo rezultat, kot lahko vidite na spodnji sliki.
Izhod:
2. Uporabniško definirane spremenljivke: Te spremenljivke ustvari in vzdržuje uporabnik. Na splošno so te vrste spremenljivk definirane v LOWER_CASES. Ni strogega pravila za pisanje teh spremenljivk z malimi črkami. Lahko jih pišemo tudi z velikimi črkami.
Ustvarimo skript Bash za definiranje teh spremenljivk. Sledite spodnjim korakom:
Korak 1. Ustvarite skript z imenom bash_yard in v konzolo Bash vnesite naslednjo kodo:
#! /bin/bash # User-Defined Variables name=Peter ROLL_NO=5245325 echo 'The student name is $name and his Roll number is $ROLL_NO.'
2. korak Oglejte si kodo na konzoli Bash.
3. korak Shranite in izvedite skript.
Izhod:
Delovanje spremenljivk Bash
Po osnovni predstavitvi spremenljivk pojdimo k spoznanju, kako delujejo?
Obstajata dve dejanji, ki jih običajno izvajamo za spremenljivko v Bashu, kot je navedeno spodaj:
- nastavitev vrednosti za spremenljivko
- branje vrednosti za to.
Vrednost spremenljivke je mogoče nastaviti na različne načine, najpogostejši način pa je nastavitev vrednosti neposredno. Za branje spremenljivke lahko postavimo njeno ime (s predpono z znakom $) kamor koli v skriptu.
Bash najprej preveri vsa imena spremenljivk, kot da so prisotna v skriptu. Nato interpretira vsako vrstico našega scenarija. Po identifikaciji vsake spremenljivke nadomesti ime spremenljivke z njeno dodeljeno vrednostjo. Navsezadnje interpretira/zažene to vrstico kode in nadaljuje ta postopek za vsako kodirano vrstico našega skripta.
OPOMBA: Obe vrsti spremenljivk v Bashu (o katerih smo razpravljali) delujeta tako na terminalu kot tudi na skriptu Bash. Oglejmo si njihovo delo na terminalu in Bashu skozi preprost primer:
primer: Pokličite uporabniško ime po XYZ, njegovi lokaciji, kjer trenutno dela, in različici Bash Shell, ki jo uporablja za Bash Scripting.
1. Delo na terminalu
2. Delo na Bash Shell
Oglejte si skript, ki ga imenuje Bash_Var, podan spodaj:
V 3rdvrstica scenarija , smo deklarirali spremenljivko USER_NAME za shranjevanje uporabniškega imena XYZ kot svojo vrednost.
V zadnjih dveh vrsticah , smo natisnili želeno sporočilo z uporabo odmev ukaz.
V tem sporočilu sta dve spremenljivki in en ukaz. Pred vsakim od njih je znak za dolar ($), kjer:
Za boljše razumevanje ustvarite ta skript tako, da sledite dani kodi:
#! /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.
Prikazal bo izhod, kot lahko vidite na naslednji sliki:
Izhod:
Obstaja še nekaj primerov za vadbo spremenljivk na terminalu in Bash Shell. S sledenjem nabor pravil (o čemer smo že razpravljali) vadite spremenljivke, kot sledi:
A. Uporaba terminala ukazne vrstice
1. Nastavitev spremenljivk
2. Branje in sklicevanje na spremenljivke
3. Neveljavne spremenljivke
4. Združevanje dveh nizovnih spremenljivk
5. Združevanje nizov s spremenljivkami
OPOMBA: Ne uporabljajte enojnih narekovajev za združevanje dveh spremenljivk in tudi za veriženje nizov s spremenljivkami. Tako, da če združite nize tako, da jih stavite v enojne narekovaje, jih ne boste mogli prebrati, kot lahko vidite na spodnji sliki:
B. Uporaba skripta Bash:
Je primer združevanje spremenljivk String.
Izhod:
Argumenti ukazne vrstice
Argumenti ukazne vrstice se uporabljajo za bolj dinamičen skript s posredovanjem vnosa v kodo. Te argumente posredujemo med izvajanjem skripta v naslednji obliki:
./script_name arg1 arg2 arg3.....
Med imenom skripta in vsemi podanimi argumenti ne sme biti presledka.
Kako uporabljati argumente ukazne vrstice?
V lupini Bash se uporabljajo s sklicevanjem na naslednje privzete parametre ali posebne spremenljivke.
Sledita dve metodi, ki ju uporabljamo za posredovanje argumentov ukazne vrstice:
1. način: Uporaba številke položaja
To je prvi način dostopa do argumentov z uporabo privzetih parametrov (...). Spodnja slika to pojasnjuje:
Izhod:
2. način: Uporaba polja.
To je drugi način posredovanja argumentov kot matrike. Za uporabo te metode sledite podanemu algoritmu.
Korak 1: Ustvarite skript Bash.
2. korak: Deklarirajte poljubno ime spremenljivke in ji dodelite vrednost $a v naslednji obliki:
variable_name=('$@')
Kje $@ je privzeti argument, ki se uporablja za shranjevanje argumentov (ki jih posredujemo) kot matrike.
3. korak: Prikažite argumente tako, da definirate njihov matrični indeks v naslednji obliki:
${variable_name[i]}
4. korak: Shranite in zaprite skript.
5. korak: Izvedite skript s posredovanjem argumentov.
Oglejte si naslednji program:
Program:
#!/bin/bash args=('$@') echo ${args[0]} ${args[1]} ${args[2]} ${args[3]}
Na konzoli Bash:
Izhod:
Zamenjava ukaza
Glede na uradno dokumentacijo Bash
'Zamenjava ukaza omogoča, da izhod ukaza nadomesti sam ukaz. Bash izvede razširitev tako, da izvede ukaz v okolju podlupine in nadomesti zamenjavo ukaza s standardnim izhodom ukaza, pri čemer se izbrišejo vse končne nove vrstice. Vdelane nove vrstice se ne izbrišejo, lahko pa se odstranijo med deljenjem besed.'
Zamenjava ukaza se nanaša na razširitev, ki jo namesto nas izvaja Bash. Prevzame izhod ukaza Bash, shrani v spremenljivko (na splošno) in prikaže nazaj z odmevom.
Zamenjava ukaza ponuja prilagodljivost podatkov v zvezi s skriptiranjem in dodeljevanjem spremenljivk. Enostavno in enostavno je imeti izpis v enojni ukazni vrstici. V primeru, da gre izhod čez nekaj vrstic, se nove končne vrstice odstranijo in celotna vsebina izhoda se konča v eni vrstici.
Oglejte si sintakso za uporabo:
Sintaksa
Klasična oblika zamenjave ukazov v spremenljivki ali zamenjava ukaza je uporaba povratnih narekovajev (`...`), kot je navedeno spodaj:
variable_name=`command_name` variable_name=`command_name [option...] argument1 argument2...` variable_name=`/path/to/command`
Zdaj naredimo zamenjavo ukazov tako, da ukaze zapremo v oklepaje (pred njimi je znak za dolar ($)). Poglej:
variable_name=$(command_name) variable_name=$(command_name [option...] argument1 argument2...) variable_name=$(path/to/command)
Torej, naredimo zamenjavo ukaza s primerom v skladu z razpravo.
V tem primeru nadomeščamo en sam ukaz ls v spremenljivki. Glej terminal.
1. vrstica: Brez zamenjave ukaza je izhod razširjen v več vrsticah.
Vrstica 2 in 3: Z zamenjavo ukaza se izhod konča v eni vrstici (prihranjen prostor z odstranitvijo na novo zaostalih vrstic).
Sledi skript Bash za preizkus zamenjave ukaza.
Program:
#! /bin/bash # command substitution lsResult=$(ls) echo 'My files are:' $lsResult
Oglejte si konzolo Bash:
Izhod: