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"