A változók a programozás lényeges részét képezik, vagy mondhatjuk úgy, hogy egy programozási nyelv szelleme. A változók karakterekkel, számokkal és alfanumerikusokkal határozzák meg a memória helyét. Számítógépes programokban hivatkoznak rájuk és kezelik őket.
Mik a változók?
A változók azok a konténerek, amelyek értékeként adatokat vagy hasznos információkat tárolnak bennük. Az alábbiakban egy változó szintaxisa látható:
Variable_name =value
A Változó két szó kombinált formája, azaz vari + képes, ami azt jelenti, hogy az értéke megváltoztatható, és többször is használható.
gimp betűtípusok listája
A változót bármilyen típusú adat ideiglenes tárolójaként ismerik, mint például integer, float, char stb. A változónév tartalmazhat ábécé, számjegy és aláhúzás , és a neve csak ábécével és aláhúzással kezdődhet.
Megjegyzés: Nem definiálhatunk semmilyen számjeggyel kezdődő változónevet.
Mik azok a Bash-változók?
Nem használhatunk bash változókat megfelelő információ nélkül ( szintaxis, adattípusok, típusok, működés ).
Először ismerje meg a szintaxist.
Szintaxis:
Variable_name=value
A Bash-változók meghatározására vonatkozó szabályok:
- Változó olvasása vagy nyomtatása közben rögzítse a változó nevét dollár ($) jellel.
- Hagyja el a dollárjelet ($), miközben bármilyen értékű változót állít be.
- A változó neve lehet alfanumerikus, vagy aláhúzással (_) írható.
- A változó neve megkülönbözteti a kis- és nagybetűket: x és X két különböző változónak tekinthető.
- A változó neve tetszés szerint írható NAGYBETŰ vagy ALKALMAZÁSI betűkkel, vagy mindkettő keverékével.
- Egy változó bárhol elhelyezhető a Bash Scriptben vagy a parancssorban, mert futás közben a Bash lecseréli a hozzárendelt értékre. Ez a parancs futtatása előtti helyettesítés miatt vált lehetségessé.
- Az egyenlőségjel (=) egyik oldalán sem lehet szóköz a változó neve és értéke között. Az alábbiakban néhány példát mutatunk be Érvénytelen változók szóközök (pontokkal jelölve...) közöttük az alábbiak szerint:
var1=...változó1
var2...=változó2
var3...=...változó3 - Nincs szükség egyetlen vagy kettős idézőjelre sem egy karakteres változó meghatározásához, mint pl. var1=változó . Ha több szót vagy Karakterláncot egyetlen elemként szeretne bevinni egy változóba, akkor használja idézőjelek segítségével a tartalmat a változóba.
- Az egyetlen idézet ('') segít minden karakter kezelésében.
- A dupla idézet ('') segít a helyettesítésben.
Adattípusok
A formális programozási nyelvekben minden változó adattípusát meg kell határozni a változó deklarációjakor. Például:
int year=2012 char comp_name='jtp'
De a Bash esetében nem kell megadnia egyetlen változó adattípusát sem a változó deklarációjakor. A Bash változók gépeletlen , ami azt jelenti, hogy csak írja be a változó nevét az érték hozzárendelésével, és automatikusan figyelembe veszi az adattípust.
Olyan, hogy ha a változóhoz bármilyen numerikus értéket rendelünk, az egész számként fog működni, ha pedig karakteres értéket rendelünk a változóhoz, akkor az String lesz.
year=2012 comp_name=jtp
az echo paranccsal olvassa el őket úgy, hogy $ jelet rendel a nevük elé, például
echo $év
echo $name
A Bash-változók típusai
A shellben vagy bármely UNIX rendszerben kétféle változó létezik.
- Rendszer által definiált változók
- Felhasználó által definiált változók
1. Rendszer által definiált változók: Ezek az előre definiált változók, mivel ezeket maga a LINUX operációs rendszer hozza létre és karbantartja. Általános konvenciójuk az, hogy általában nagybetűkkel, azaz NAGYBETŰVEL definiálják őket. Tehát valahányszor nagybetűkkel definiált változót látunk, valószínűleg ezek a rendszer által definiált változók.
Ezek a következő rendszer által meghatározott változók, az alábbiak szerint:
1. BASH a Shell nevet képviseli.
Példa:
BASH=/usr/bin/bash
2. BASH_VERSION A Bash által tárolt shell verziót határozza meg.
Példa:
BASH_VERSION=4.2.46(2)
3. OSZLOPOK adja meg a sz. oszlopok közül a képernyőnkre.
Példa:
COLUMNS=80
4. OTTHON megadja a felhasználó saját könyvtárát.
Példa:
HOME=/home/jatpoint
5. LOGNAME megadja a naplózó felhasználónevet.
Példa:
LOGNAME=javatpoint
6. OSTÍPUS megmondja az operációs rendszer típusát.
Példa:
OSTYPE=linux-gnu
7. PWD az aktuális munkakönyvtárat jelöli.
Példa:
PWD=/home/javatpoint
8. FELHASZNÁLÓNÉV az aktuálisan bejelentkezett felhasználó nevét adja meg.
Példa:
USERNAME=javatpoint
A rendszerben lévő változók listájának megismeréséhez írja be a parancsokat készlet, env , és printenv a parancssori terminálon az alábbiak szerint:
1. A készlet parancs.
Kimenet:
2. A env parancs
Kimenet:
3. Írja be a printenv parancsot
Kimenet:
Hívjuk ezeket a változókat a Bash Shellen keresztül. A megadott lépések a következők:
1. lépés: Hozzon létre egy Bash_sdvar nevű szkriptet, és írja be a következő kódot a Bash Console-on az alábbiak szerint:
#! /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. lépés. Nézze meg az alábbi Bash konzolt:
3. lépés Mentse és futtassa a szkriptet. Megjeleníti a kimenetet, ahogy az az alábbi ábrán is látható.
Kimenet:
2. Felhasználó által definiált változók: Ezeket a változókat a felhasználó hozza létre és tartja karban. Általában az ilyen típusú változókat LOWER_CASES definiálják. Nincs olyan szigorú szabály, hogy ezeket a változókat kisbetűkkel írjuk. Írhatjuk őket nagybetűkkel is.
Hozzon létre egy Bash Scriptet ezeknek a változóknak a meghatározásához. Kövesse az alábbiakban megadott lépéseket:
1. lépés. Hozzon létre egy szkriptet, melynek neve Bash_udvar és írja be a következő kódot a Bash Console-on:
#! /bin/bash # User-Defined Variables name=Peter ROLL_NO=5245325 echo 'The student name is $name and his Roll number is $ROLL_NO.'
2. lépés. Lásd a kódot a Bash Console-on.
3. lépés Mentse el és futtassa a szkriptet.
Kimenet:
Bash-változók működése
A változók alapvető bemutatása után nézzük meg, hogyan működnek?
Általában két műveletet hajtunk végre a Bash változóinál, az alábbiak szerint:
- érték beállítása egy Változóhoz
- leolvasva az értéket érte.
Egy változó értéke többféleképpen állítható be, amelyek közül a legáltalánosabb módja az érték közvetlen beállítása. Egy változó olvasásához elhelyezhetjük a nevét (előtag $ jellel) bárhol a szkriptben.
A Bash először ellenőrzi az összes változónevet, mintha jelen lennének a szkriptben. Ezután értelmezi a forgatókönyvünk minden sorát. Minden változó azonosítása után lecseréli a változó nevét a hozzárendelt értékre. Végül is értelmezi/futtatja azt a kódsort, és folytatja ezt a folyamatot a szkriptünk minden kódolt soránál.
MEGJEGYZÉS: A Bash mindkét fajtája (miről beszéltünk) működik a terminálon és a Bash szkripten is. Lássuk, hogyan dolgoznak a terminálon és a Bash-on egy egyszerű példán keresztül:
Példa: Hívjon fel egy felhasználónevet XYZ-vel, a tartózkodási helyét, ahol jelenleg dolgozik, és a Bash Shell verzióját, amelyet a Bash Scriptinghez használ.
1. Munkavégzés a terminálon
2. Munka a Bash Shellen
Tekintse meg a Bash_Var által elnevezett szkriptet alább:
A 3rda forgatókönyv sora , deklaráltunk egy változót FELHASZNÁLÓNÉV a felhasználónév tárolásához XYZ mint annak értéke.
Az utolsó két sorban , kinyomtattuk a kívánt üzenetet a segítségével visszhang parancs.
Ebben az üzenetben két változó és egy parancs található. Mindegyiket a dollár ($) jel előzi meg, ahol:
A jobb megértés érdekében hozza létre ezt a szkriptet a megadott kód követésével:
#! /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.
Megjeleníti a kimenetet, ahogy az a következő képen is látható:
Kimenet:
Van még néhány példa a változók gyakorlására terminálon és Bash Shellen egyaránt. Követve a szabálykészlet (korábban már szó volt róla) a következőképpen kell gyakorolnia a változókat:
A. A Command Line Terminal használata
1. A változók beállítása
2. Változók olvasása és hivatkozás
3. Érvénytelen változók
4. Két karakterlánc-változó kombinálása
5. Stringek összefűzése változókkal
MEGJEGYZÉS: Ne használjon szimpla idézőjeleket két változó kombinálásához, valamint a karakterláncok és változók összefűzéséhez. Olyan, hogy ha összefűzi a karakterláncokat úgy, hogy idézőjelek közé zárja őket, akkor nem sikerül elolvasni őket, ahogy az az alábbi képen látható:
B. Bash Script használata:
Ez egy példa arra a String változók kombinálása.
Kimenet:
Parancssori érvek
A parancssori argumentumokat arra használják, hogy dinamikusabbá tegyék a szkriptet azáltal, hogy bemenetet adnak át a kódnak. Ezeket az argumentumokat a szkript futási idején a következő formában adjuk át:
./script_name arg1 arg2 arg3.....
Ne legyen szóköz a szkript neve és az összes átadó argumentum között.
Hogyan kell használni a parancssori argumentumokat?
A Bash Shellben a következő alapértelmezett paraméterekre vagy speciális változókra hivatkozva használják őket.
A következő két módszert használjuk a parancssori argumentumok átadására:
1. módszer: Pozíciószám használata
Ez az argumentumok elérésének első módja az alapértelmezett paraméterek (...) használatával. Az alábbi kép elmagyarázza:
Kimenet:
2. módszer: Tömb használata.
Ez a második módja az argumentumok tömbként való átadásának. A módszer alkalmazásához kövesse a megadott algoritmust.
1. lépés: Hozzon létre egy Bash Scriptet.
2. lépés: Deklaráljon tetszőleges változónevet, és rendelje hozzá értékét mint $a a következő formában:
variable_name=('$@')
Ahol $@ az alapértelmezett argumentum, amely az argumentumok (átadjuk) tömbként való tárolására szolgál.
3. lépés: Jelenítse meg az argumentumokat a tömbindexük meghatározásával a következő formában:
${variable_name[i]}
4. lépés: Mentse és zárja be a szkriptet.
5. lépés: Futtassa le a parancsfájlt az argumentumok átadásával.
Lásd a következő programot:
Program:
#!/bin/bash args=('$@') echo ${args[0]} ${args[1]} ${args[2]} ${args[3]}
A Bash konzolon:
Kimenet:
Parancscsere
A Bash hivatalos dokumentációja szerint
„A parancshelyettesítés lehetővé teszi, hogy egy parancs kimenete magát a parancsot helyettesítse. A Bash úgy hajtja végre a kiterjesztést, hogy végrehajtja a parancsot egy alhéj-környezetben, és lecseréli a parancshelyettesítést a parancs szabványos kimenetére, a záró sorok törlésével. A beágyazott újsorok nem törlődnek, de szófelosztás közben eltávolíthatók.'
A parancshelyettesítés egy olyan bővítésre utal, amelyet a Bash hajt végre helyettünk. A Bash parancs kimenetét veszi, változóban tárolja (általában), és visszhanggal jeleníti meg.
Parancscsere adatrugalmasságot kínál a parancsfájlok és a változók hozzárendelése tekintetében. Egyszerű és könnyű az egyetlen parancssori kimenet. Abban az esetben, ha a kimenet néhány soron túl megy, akkor az újonnan záró sorokat eltávolítjuk, és a kimenet teljes tartalma egyetlen sorba kerül.
A használathoz lásd a szintaxist:
Szintaxis
A változókban vagy parancshelyettesítésekben a parancsok helyettesítésének klasszikus formája a vissza idézőjel (`...`), az alábbiak szerint:
variable_name=`command_name` variable_name=`command_name [option...] argument1 argument2...` variable_name=`/path/to/command`
Most a parancsok helyettesítését végezzük úgy, hogy a parancsokat zárójelek közé helyezzük (a dollárjel ($) előtt). Nézd meg:
variable_name=$(command_name) variable_name=$(command_name [option...] argument1 argument2...) variable_name=$(path/to/command)
Tehát végezzük el a parancshelyettesítést egy példával a vita szerint.
Ebben a példában egyetlen ls parancsot helyettesítünk egy változóban. Lásd a terminált.
1. sor: Parancshelyettesítés nélkül a kimenet több sorral bővül.
2. és 3. sor: Parancshelyettesítéssel a kimenet egyetlen sorban fejeződik be (helyet takarít meg az újonnan lefutó sorok eltávolításával).
A következő a Bash Script a parancshelyettesítés tesztelésére.
Program:
#! /bin/bash # command substitution lsResult=$(ls) echo 'My files are:' $lsResult
Lásd a Bash konzolt:
Kimenet: