01/08
Kezdõk Útmutató a BASH-hoz - A dolgok ö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
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 \
Például
ha ["$ name1"> "$ name2"]
03/08
Kezdõk Útmutató a BASH-hez - 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
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
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 = 5ha [$ 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
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:
- Kevesebb, mint -lt
- Kevesebb mint vagy egyenlő a -le értékkel
- Nagyobb mint -gt
- Nagyobb vagy egyenlő a -ge-vel
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
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.