Programowanie w Shellu (index)
Stworzyć plik hilow.sh postaci:
#!/bin/bash
#
# hilow.sh
#
# Prosta zgadywanka.
# Jest sprawdzenie, czy gracz cos podal.
# Wersja w jezyku polskim.
MAX=100 # maksymalna dozwolona liczba
TRAF=0 # strzal gracza
LICZBA=0 # liczba strzalow
# Losujemy liczbe miedzy 1 a ${MAX}
let "ZAGADKA=$$%${MAX}"
while [ ${TRAF} -ne ${ZAGADKA} ]
do
read -p "Zgaduj: " TRAF
if [ -z "${TRAF}" ] ; then
echo "Trzeba podawac liczby..." >& 2
exit 1
fi
if [ ${TRAF} -lt ${ZAGADKA} ] ; then
echo "... wiecej!"
elif [ ${TRAF} -gt ${ZAGADKA} ] ; then
echo "... mniej!"
fi
let "LICZBA=LICZBA+1"
done
echo "OK Zgadłeś ${ZAGADKA} w ${LICZBA} krokach."
Uruchomić grę poleceniem ./hilow.sh
Pierwszy sposób to wykorzystanie zmiennej $$ zawierającej
PID bieżącego procesu powłoki:
let "LICZBA_LOSOWA=$$%100"
Drugi sposób polega na wykorzystaniu zmiennej systemowej
RANDOM, która dostarcza liczby losowej z przedziału 0-32767:
let "LICZBA_LOSOWA=${RANDOM}%100"