Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > b9bbfaf9dc16c445d61c517c06fcc9a7 > files > 188

bash-doc-4.2-50.2.mga4.x86_64.rpm

# 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