E_NOPARAM=10?#?錯誤代碼1:沒有參數傳遞給腳本?
E_BADPARAM=20?#?錯誤代碼2:傳遞給腳本的板數不合法?
移動=0?#?存儲移動次數的全局變量。
dohanoi()?{?#?遞歸函數?
案子?$1?在
0)
;;
*)
多河內?"$(($1-1))"?$2?$4?$3
回聲?搬家?$2?"--> "?$3
讓?“招式?+=?1"?#?這裏修改了原腳本。
多河內?"$(($1-1))"?$4?$3?$2
;;
environmental systems applications center 環境系統應用程序中心
}
案子?$#?在
1)
案子?$(($ 1 & gt;0))?在?#?至少要有壹個盤子。
1)
多河內?$1?1?3?2
回聲?“總?動作?=?$Moves "
退出?0;
;;
*)
回聲?"$0:?違法?價值?為了什麽?號碼?的?磁盤";
退出?$ E _ BADPARAM
;;
environmental systems applications center 環境系統應用程序中心
;;
*)
回聲?"用法:?$0?n "
回聲?"?在哪裏?\"N\ "?是嗎?那個?號碼?的?磁盤。
退出?$ E _ NOPARAM
;;
Esac根據高級Bash Shell腳本指南中的示例進行了重寫。pdf。