Kako napisati izjavo Bash IF (pogoji)
Z če stavek, ki je vrsta pogojnega stavka, lahko izvedete različna dejanja glede na določene pogoje. Učinkovito daje sistemu možnost sprejemanja odločitev.

Tukaj je primer najpreprostejše oblike če izjava:
štetje = 5
če [ $count == 5 ]
potem
odmev "$count"
fi
V tem primeru spremenljivka šteti določa pogoj, ki se uporablja kot del če izjava. Pred če se izvede stavek, spremenljivka šteti je dodeljena vrednost 5. The če stavek nato preveri, ali je vrednost šteti je 5. Če je tako, stavek med ključnimi besedami potem in fi se izvajajo. Sicer pa vse izjave, ki sledijo če stavek se izvrši.
Ključna beseda fi je če napisano nazaj. Skriptni jezik bash uporablja to konvencijo za označevanje konca kompleksnega izraza, kot je an če izjava oz Ovitek izjava.
The odmev stavek natisne svoj argument, v tem primeru vrednost spremenljivke šteti, v okno terminala. Zamik kode med ključnimi besedami če izjava izboljša berljivost, vendar ni potrebna.

Če imate situacijo, ko je treba del kode izvesti samo, če pogoj ni resničen, uporabite ključno besedo drugo v če izjava, kot v tem primeru:
štetje = 5
če [ $count == 5 ]
potem
odmev "$count"
drugo
odmev "štetje ni 5"
fi
Če je pogoj $count == 5 je res, sistem natisne vrednost spremenljivke šteti. V nasprotnem primeru natisne niz štetje ni 5.

Če želite razlikovati med več pogoji, uporabite ključno besedo elif, ki izhaja iz drugače če, kot v tem primeru:
če [ $count == 5 ]
potem
odmev "štetje je pet"
elif [ $count == 6 ]
potem
odmev "štetje je šest"
drugo
odmeva "nič od naštetega"
fi
Če šteti je 5, sistem natisne štetje je pet. Če šteti ni 5 ampak 6, sistem natisne štetje je šest. Če ni niti eno 5 niti 6, sistem natisne nič od naštetega.
Lahko imate poljubno število elif klavzule. Primer večkratnega elif pogoji so:
če [ $count == 5 ]
potem
odmev "štetje je pet"
elif [ $count == 6 ]
potem
odmev "štetje je šest"
elif [ $count == 7 ]
potem
odmev "štetje je sedem"
elif [ $count == 8 ]
potem
odmev "štetje je osem"
elif [ $count == 9 ]
potem
odmev "štetje je devet"
drugo
odmeva "nič od naštetega"
fi

Bolj kompakten način za pisanje takšnih izjav z več pogoji je Ovitek metoda. Deluje podobno kot če izjava z več elif klavzule, vendar je bolj jedrnat. Na primer, zgornji del kode je mogoče ponovno napisati z Ovitek izjava, kot sledi:
primer "$count" v
5)
odmev "štetje je pet"
;;
6)
odmev "štetje je šest"
;;
7)
odmev "štetje je sedem"
;;
8)
odmev "štetje je osem"
;;
9)
odmev "štetje je devet"
;;
*)
odmeva "nič od naštetega"
esac

če stavki se pogosto uporabljajo v notranjosti zanke ali medtem ko-zanke, kot v tem primeru:
count=1
opravljeno=0
medtem ko [ $count -le 9 ]
narediti
spanje 1
(( count++ ))
če [ $count == 5 ]
potem
nadaljujte
fi
odmev "$count"
Končano
echo Končano
Lahko ste tudi ugnezdili če izjave. Najpreprostejša gnezdena če izjava je v obliki: če... potem... drugače... če... potem... fi... fi. Vendar pa an če stavek se lahko ugnezdi s poljubno zapletenostjo.
Poglej tudi kako prenesti argumente v skript bash, ki prikazuje, kako uporabiti pogoje za obdelavo parametrov, posredovanih iz ukazna vrstica.
Lupina bash ponuja druge programske konstrukcije, kot so zanke, while-zanke in aritmetični izrazi.