21 lines
400 B
Bash
21 lines
400 B
Bash
# 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
|