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