来一个图形界面的;),xdialog可以用系统本身的dialog来代替. 代码:
[/home/javalee/myshell]cat chlevel #!/bin/ksh #name:chlevel # file=/etc/inittab title="脚本:chlevel" oldlevel=$(runlevel|cut -c3) info="当前运行级别:$oldlevel\n请输入启动级别[1-5][按q键离开]" id=$(whoami)
function error { xdialog --title $title --no-buttons --infobox "错误!" 6 30 }
function finish { xdialog --title $title --no-buttons --infobox "启动级别修改完毕,系统将重启" 6 30 reboot }
function quit { xdialog --title $title --no-buttons --infobox "离开本程序!" 6 30 }
xdialog --title "身份验证" --no-cancel --inputbox "请输入用户名" 6 30 2>p$$ p=$(cat p$$) if [[ $p != $id ]] then xdialog --infobox "$p:为非法用户!退出!!!" 6 30 exit 1 fi
while : do xdialog --title $title --no-cancel --inputbox "$info" 10 36 2>tmp$$ input=$(cat tmp$$) case $input in 1|2|3|4|5) vi -e -s -c ":%s/id:$oldlevel:init/id:$input:init/" -c ":wq!" $file
finish exit 0;; q) quit break;; *) error continue;; esac done rm tmp$$ p$$ |