logo

Bash változók

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:

  1. Változó olvasása vagy nyomtatása közben rögzítse a változó nevét dollár ($) jellel.
  2. Hagyja el a dollárjelet ($), miközben bármilyen értékű változót állít be.
  3. A változó neve lehet alfanumerikus, vagy aláhúzással (_) írható.
  4. 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ő.
  5. A változó neve tetszés szerint írható NAGYBETŰ vagy ALKALMAZÁSI betűkkel, vagy mindkettő keverékével.
  6. 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é.
  7. 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
  8. 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.

  1. Rendszer által definiált változók
  2. 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:

Bash változók

2. A env parancs

Kimenet:

Bash változók

3. Írja be a printenv parancsot

Kimenet:

Bash változók

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:

Bash változók

3. lépés Mentse és futtassa a szkriptet. Megjeleníti a kimenetet, ahogy az az alábbi ábrán is látható.

Kimenet:

Bash változók

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.

Bash változók

3. lépés Mentse el és futtassa a szkriptet.

Kimenet:

Bash változók

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

Bash változók

2. Munka a Bash Shellen

Tekintse meg a Bash_Var által elnevezett szkriptet alább:

Bash változók

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:

    FELHASZNÁLÓNÉVegy felhasználó által definiált változó a felhasználónév meghívására,BASH_VERSIONrendszer által definiált változó, amely a shell magát hívja. A Bash Shell verziójának nyomtatására szolgál,PWDparanccsal kinyomtatja a felhasználó aktuális tartózkodási helyét.

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:

Bash változók

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

Bash változók

2. Változók olvasása és hivatkozás

Bash változók

3. Érvénytelen változók

Bash változók

4. Két karakterlánc-változó kombinálása

Bash változók

5. Stringek összefűzése változókkal

Bash változók

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ó:

Bash változók

B. Bash Script használata:

Ez egy példa arra a String változók kombinálása.

Bash változók

Kimenet:

Bash változók

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.

    0 USDmegadja a meghívandó szkript nevét.1-9 dollártárolja az első 9 argumentum nevét, vagy használható argumentumok pozíciójaként.$#megadja a szkriptnek átadott argumentumok teljes számát (számát).$*tárolja az összes parancssori argumentumot úgy, hogy összekapcsolja őket.$@az argumentumok listáját tömbként tárolja.$?megadja az aktuális szkript folyamatazonosítóját.$$az utolsó parancs vagy a legutóbbi végrehajtási folyamat kilépési állapotát adja meg.$!az utolsó háttérfeladat azonosítóját mutatja.

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:

Bash változók

Kimenet:

Bash változók

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:

Bash változók

Kimenet:

Bash változók

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.

Bash változók

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:

Bash változók

Kimenet:

Bash változók