Kezdõk Útmutató a BASH-hoz - A dolgok összehasonlítása

01/08

Kezdõk Útmutató a BASH-hoz - A dolgok összehasonlítása

BASH bemutató - A húrok összehasonlítása.

A BASH bemutató előző részében feltételes kijelentéseket vizsgáltunk .

Ez az útmutató nagyon hosszú volt, de valójában csak azt mutatta, hogyan lehet szabályozni a logika áramlását. Ez az útmutató bemutatja a változók különböző módozatait.

A fenti kép az első példát mutatja ebben a héten:

#! / bin / bash

név1 = "Gary"
NAME2 = "bob"

ha ["$ name1" = "$ name2"]
akkor
echo "a nevek mérkőzés"
más
echo "a nevek nem egyeznek"
fi


A fenti szkriptben két változót neveztek el names1 és name2 névvel, és hozzárendeltem a "gary" és a "bob" értékeket. Mivel a változók az idézőjelek közé tartoznak, ezeket string változóknak nevezzük, amelyek relevánsabbá válnak, ahogyan a tutorial folytatódik.

Az összes script összehasonlítja a $ name1 és a $ name2 értékét, és ha megfelelnek a kimenetnek, a "a nevek egyeznek" stringet, és ha nem adja ki a "a nevek nem egyeznek" stringet.

A $ name1 és a $ name2 változók körüli idézőjelek fontosak, mert ha egyikük sem lett beállítva, akkor a szkript továbbra is működni fog.

Például ha a $ name1 soha nem volt beállítva, akkor összehasonlítaná a "bob" -ot. Az idézőjelek nélkül maradna = "bob", ami nyilvánvalóan sikertelen.

A (z) = = jelölés a következő egyenlettel nem azonosítható:

ha ["$ name1"! = "$ name2"]

02/08

Kezdõk Útmutató a BASH-hez - A húrok összehasonlítása

BASH bemutató - A húrok összehasonlítása.

A fenti példában a teszt összehasonlítja ugyanazt a két karakterláncot, és felteszi a kérdést, hogy a bob előtt a gary jön az abc-ben?

Nyilvánvaló, hogy a válasz nem.

A forgatókönyv bevezeti a kevesebb operátort (<). Mivel a kevésbé operátort is átirányításra használják, akkor egy "slash" -nel kell elszöknie (\), ami azt jelenti, hogy kevesebbet jelent, mint ami a fenti szkriptben összehasonlította a "$ name1" \ <"$ name2" értéket.

Az ellenkezője kisebb, mint nyilvánvalóan nagyobb, mint. A \ használata helyett.

Például

ha ["$ name1"> "$ name2"]

03/08

Kezdõk Útmutató a BASH-hez - A húrok összehasonlítása

BASH bemutató - A húrok összehasonlítása.

Ha meg akarja tudni ellenőrizni, hogy van-e változó értéke, akkor a következő tesztet használhatja:

ha [-n $ name2]

A fenti szkriptben teszteltem, hogy $ name2 értéket kapott-e, és ha nem az üzenet: "Nincs bob, soha nem jelenik meg a bob".

04/08

Kezdõk Útmutató a BASH-hez - A húrok összehasonlítása

BASH bemutató - A húrok összehasonlítása.

A múltbeli csúszkán azt fedeztük fel, hogy van-e beállítva egy változó vagy sem. Néha bár egy változó be van állítva, de lehet, hogy valójában nincs értéke.

Például:

name1 = ""

Annak teszteléséhez, hogy egy változónak van-e értéke vagy sem (azaz nulla hossza van), használja a -z-et az alábbiak szerint:

ha [-z $ name1]

A fenti parancsfájlban $ name1-et állítottam egy nulla hosszúságú stringre, majd összehasonlítottam a -z használatával. Ha a $ name1 nulla hosszúságú, megjelenik a "gary az esti este" üzenet.

05/08

Kezdõk Útmutató a BASH-hoz - Számok összehasonlítása

BASH bemutató - Számok összehasonlítása.

Eddig az összes összehasonlítás a húrokra vonatkozott. Mi a helyzet a számok összehasonlításával?

A fenti szkript példát mutat két szám összehasonlítására:

#! / bin / bash

a = 4
b = 5

ha [$ a = $ b]
akkor
echo "4 = 5"
más
echo "4 nem egyenlő 5"
fi

Egy változó számjegyként történő beállításához egyszerűen idézőjelek nélkül állítsa be. Ezután összehasonlíthatja a számokat egyenlő jelekkel.

Azonban inkább a következő üzemeltetőt használom két szám összehasonlítására:

Ha [$ a -eq $ b]

06/08

Kezdõk Útmutató a BASH-hoz - Számok összehasonlítása

BASH bemutató - Számok összehasonlítása.

Ha összehasonlítani szeretné, hogy egy szám kisebb-e egy másik számnál, akkor a kevesebbet használhatja (<). A húrokhoz hasonlóan el kell menekülnie a kevesebbet, mint a kezelő. (\ <).

A számok összehasonlításának jobb módja a következő jelölés alkalmazása:

Például:

ha [$ a -lt $ b]

ha [$ a -le $ b]

ha [$ a -ge $ b]

ha [$ a -gt $ b]

07. 08

Kezdõk Útmutató a BASH-hoz - Számok összehasonlítása

BASH bemutató - Számok összehasonlítása.

Végül ennek az útmutatónak a segítségével, ha meg akarja tudni ellenőrizni, hogy két szám különbözik-e, akkor az operátorok kevesebb, mint az operátorokat (<>) vagy a -ne-t használhatják az alábbiak szerint:

ha [$ a <> $ b]

ha [$ a -ne $ b]

08. 08

BASH Kezdõ Útmutató - Összehasonlító Operátorok - Összefoglaló

Ha hiányolta az útmutató első három részét, az alábbi linkekre kattintva találja meg őket:

Az útmutató következő részében aritmetikát fogok lefedni.