# Towers of Hanoi in bash | |
# | |
# cribbed from the ksh93 book, example from exercises on page 85 | |
# | |
# Chet Ramey | |
# chet@po.cwru.edu | |
hanoi() # n from to spare | |
{ | |
typeset -i nm1=$1-1 | |
((nm1>0)) && hanoi $nm1 $2 $4 $3 | |
echo "Move disc $2 to $3" | |
((nm1>0)) && hanoi $nm1 $4 $3 $2 | |
} | |
case $1 in | |
[1-9]) | |
hanoi $1 1 2 3;; | |
*) echo "${0##*/}: Argument must be from 1 to 9" | |
exit 1;; | |
esac |