Hogyan írjunk Bash IF-állítást (feltételek)

Egy valamivel ha utasítás, amely egyfajta feltételes utasítás, különböző műveleteket hajthat végre a megadott feltételektől függően. Hatékonyan lehetőséget ad a rendszernek a döntéshozatalra.

Bash alap If utasítás

Íme egy példa az an legegyszerűbb formájára ha nyilatkozat:

count=5
ha [ $count == 5 ]
azután
echo "$count"
fi

Ebben a példában a változó számol egy feltételt ad meg, amely részeként kerül felhasználásra ha nyilatkozat. Előtte ha utasítás végrehajtásra kerül, a változó számol értékhez van rendelve 5. Az ha utasítás ezután ellenőrzi, hogy az értéke számol van 5. Ha ez a helyzet, akkor a kulcsszavak közötti állítás azután és fi kivégzik. Ellenkező esetben a következő nyilatkozatokat ha utasítás végrehajtásra kerül.

A kulcsszó fi van ha visszafelé írva. A bash szkriptnyelv ezt a konvenciót használja egy összetett kifejezés végének megjelölésére, például egy ha nyilatkozatot ill ügy nyilatkozat.

Az visszhang utasítás kiírja argumentumát, ebben az esetben a változó értékét számol, a terminál ablakához. A kód behúzása a kulcsszavai közé ha utasítás javítja az olvashatóságot, de nem szükséges.

Bash If nyilatkozat Else-vel

Ha olyan helyzetben van, hogy egy kódrészletet csak akkor kell végrehajtani, ha egy feltétel nem igaz, használja a kulcsszót más egy an ha nyilatkozat, mint ebben a példában:

count=5
ha [ $count == 5 ]
azután
echo "$count"
más
echo "a szám nem 5"
fi

Ha a feltétel $count == 5 igaz, a rendszer kiírja a változó értékét számol. Ellenkező esetben kiírja a karakterláncot a szám nem 5.

Bash If nyilatkozat Eliffel

Ha több feltételt szeretne megkülönböztetni, használja a kulcsszót elif, amely abból származik különben ha, mint ebben a példában:

ha [ $count == 5 ]
azután
echo "a szám öt"
elif [ $count == 6 ]
azután
echo "hat a szám"
más
echo "a fentiek közül egyik sem"
fi

Ha számol van 5, a rendszer kinyomtatja a szám öt. Ha számol nem 5 de 6, a rendszer kinyomtatja a szám hat. Ha egyik sem az 5 sem 6, a rendszer kinyomtatja a fentiek közül egyik sem.

Bármilyen számod lehet elif záradékok. Példa a többszörösre elif feltételek a következők:

ha [ $count == 5 ]
azután
echo "a szám öt"
elif [ $count == 6 ]
azután
echo "hat a szám"
elif [ $count == 7 ]
azután
echo "a szám hét"
elif [ $count == 8 ]
azután
echo "a szám nyolc"
elif [ $count == 9 ]
azután
echo "a szám kilenc"
más
echo "a fentiek közül egyik sem"
fi
Bash Case nyilatkozat

Az ilyen állítások több feltétellel történő írásának kompaktabb módja a ügy módszer. Hasonlóan működik, mint a ha állítás többszörössel elif záradékok, de tömörebb. Például a fenti kódrészlet újraírható a ügy nyilatkozata a következő:

eset "$count" in
5)
echo "a szám öt"
;;
6)
echo "hat a szám"
;;
7)
echo "a szám hét"
;;
8)
echo "a szám nyolc"
;;
9)
echo "a szám kilenc"
;;
*)
echo "a fentiek közül egyik sem"
esac
Bash If utasítás a While ciklusban

ha belül gyakran használnak kijelentéseket for-hurkok vagy while-hurkok, mint ebben a példában:

count=1
kész=0
míg [ $count -le 9 ]
csináld
alvás 1
(( count++ ))
ha [ $count == 5 ]
azután
folytatni
fi
echo "$count"
Kész
echo Kész

Beágyazott is lehet ha nyilatkozatok. A legegyszerűbb beágyazott ha kijelentés a következő alakú: ha...akkor...egyéb...ha...akkor...fi...fi. Azonban egy ha utasítás tetszőleges bonyolultsággal beágyazható.

Lásd még hogyan adjunk át argumentumokat egy bash szkriptnek, amely bemutatja, hogyan lehet feltételes feltételeket használni a következőből átadott paraméterek feldolgozásához parancs sor.

A bash shell más programozási konstrukciókat is biztosít, mint például a for-loop, while-loop és számtani kifejezések.