Portál AbcLinuxu, 5. května 2025 03:16
#!/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 INTEGER2s 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.