Guía de programación avanzada de bash pdf
E_NOPARAM=10? #?Código de error 1: ¿No se han pasado parámetros al script?
E_BADPARAM=20? #?Código de error 2: ¿La cantidad de tableros pasados al script es ilegal?
¿Mover=0? #?Variable global que almacena el número de movimientos.
dohanoi()? {?#?Función recursiva?
¿Caso? $1?en
0)
;;
*)
¿Más Hanoi? "$(($1-1))"?$2?$4?$3
¿Eco? mudarse de lugar? ¿$2?"--> "? $3
¿Dar? "¿Mover?+=?1"?#?El script original se ha modificado aquí.
¿Muchos Hanói? "$(($1-1))"?$4?$3?$2
;;
Centro de aplicaciones de sistemas ambientales Centro de aplicaciones de sistemas ambientales
}< / p>
¿Caso? $#?En
1)
caso? $(($ 1>0))?en? #?Debe haber al menos un plato.
1)
¿Muchos Hanoi? $1?1?3?2
¿Eco? "¿Total? ¿Acciones?=?$Movimientos "
¿Salir? 0;
;;
*)
¿Eco? "$0:? ¿Ilegal? ¿Valor? ¿Para qué? ¿Número? ¿El? Disco";
¿Salir? $ E _ BADPARAM
;;
Centro de aplicaciones de sistemas ambientales Centro de aplicaciones de sistemas ambientales
;;
*)
¿Eco? "Uso:?$0?n "
¿Eco? "? ¿Dónde? \"N\ "? ¿Es ese? el? número? del? disco.
SALIR? $E_NOPARAM
;;
Esac reescrito según el ejemplo de la Guía avanzada de secuencias de comandos de Bash Shell en formato PDF.