Portál AbcLinuxu, 27. října 2025 05:58
#!/bin/bash
if [ $# -ne 2 ]; then
echo "Zadej prave dve zvirata"
elif [ $1 == $2 ]; then
if [ $1 == "medved" ]; then
echo "Medvědi hrají kriket"
else
echo "Nevím, kdo vyhraje"
fi
elif [ $1 == "medved" -o $2 == "medved" ]; then
if [ $1 == "zajic" -o $2 == "zajic" ]; then
echo "Smůla medvěde"
else
echo "Medvěd je vítěz"
fi
fi
[ $1 == $2 ] je ve skutečnosti v podstatě totéž jako test $1 == $2, takže test se v té ukázce využívá hojně. Ale je dobrým zvykem dávat proměnné do uvozovek.
[ "$1" == "$2" ]
man test.
Pise se tam:
INTEGER1 -ne INTEGER2
INTEGER1 is not equal to INTEGER2
s tim ze $# je pocet zadanych parametru. Jinak jak je doporuceno vyse, promenne davej do uvozovek, tedy [ "$#" -ne 2 ]
man testjinak abys primo videla, co se ve skriptu po spusteni odehrava:
bash -x /cesta/ke/skriptu.sh
bash /cesta/tvuj_skript.sh medved zajica vystupem skriptu bude text:
Smůla medvědeted jen vymyslet telo toho skriptu...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.