############################### # 程序名 : 系 统 管 理 # # 版本 : 1.0 # # 编写日间 : 2000.02.25 # # 程序设计 : Hbczjzc # # Email : hhh_kkk@21cn.com # ############################### trap '' 1 2 3 15 USER=chuxu FBXS=`tput smso` QXSX=`tput rmso` OFF=off ERRUSER=tty ACTI=respawn com=注册用户 color1=`setcolor -r yellow red` color2=`setcolor -r yellow magenta` color3=`setcolor -r hi_white blue` export com color1 color2 color3 OFF ACTI USER setcolor -n tty >;list_termi l /unix >;/tmp/check_unix unix_stat=`cat /tmp/check_unix | awk '{print $5}'` termial=`cat list_termi | awk '{print $1}'` pass=` awk ' { nc+=length($0) } END {print nc+NR}' /etc/xtgl` colorset1() { echo "$color1" } colorset2() { echo "$color2" } colorset3() { echo "$color3" } getc() { stty raw tmp=`dd bs=1 count=1 2>;/dev/null` eval $1='$tmp' stty cooked } getchar() { stty raw tmp=`dd bs=1 count=5 2>;/dev/null` eval $1='$tmp' stty cooked } getyn() { while read yn do case $yn in [yY]) return 0 ;; [nN]) return 1 ;; *) prompt read key return 1 ;; esac done } error() { echo "\n" echo "\007\n\t\t ? 非 法 选 择!" colorset1 prompt getc key return 0 }
prompt() { echo "\n\n\033[7m 按 <回 车>; 继 续. \033[m ?\b\b\b\b\c" } prom() { colorset2 echo "\n\n\n\033[7m 按 <回 车>; 继 续. \033[m ?\b\b\b\b\c" read key } check_pass() { clear echo "[12;26H管 理 员:[${FBXS}Admin${QXSX}]\n" #stty -echo echo "[15;26H请 输 入 密 码:[*****]" setcolor -b black -k black echo "[15;42H\c " #read password getchar password if [ $password = "${pass}" ] then setcolor -b black -k white #stty echo user_menu #mkuser return 0 else setcolor -b black -k white #stty echo echo "[15;52H\007${FBXS}密码错误!${QXSX}\b\c" fi sleep 2 } creat_user () { sort +2 -n -t: /etc/passwd >;/etc/passwd.sort uid=`tail -1 /etc/passwd.sort | awk -F: '{print $3}'` uid=`expr $uid + 1` if [ $uid -lt 100 ] then #echo "\n\n\n\007${FBXS}Passwd 文件错误!!!${QXSX}" #return 1 uid=200 export uid echo "\n\n\n请稍后......\c" /etc/useradd -m -d ${home} -s ${newshell} -u ${uid} -G ${GROUP} -c "${com}" ${user} >;/dev/null 2>;&1 passwd -d $user >;/dev/null 2>;&1 else echo "\n\n\n请稍后......\c" /etc/useradd -m -d ${home} -s ${newshell} -u ${uid} -G ${GROUP} -c "${com}" ${user} >;/dev/null 2>;&1 #cp /etc/group /etc/group- #sed -e '/:50:/ s/\(.*\)/\1,'$user'/' /etc/group- >; /etc/group passwd -d $user >;/dev/null 2>;&1 fi } adduser() { # [ $# -lt 1 ] && { #echo "\n\n\n调用格式: 用户注册名[ 注释内容 ]" #return 1 #} user=$1 newshell=$2 GROUP=$3 home=/usr/$1 echo -n "\n\n是否创建 ${FBXS}$user${QXSX} 用户(1/0)? 【 】?\b\b\b\b\b" getc opt case $opt in y|Y|1) creat_user ;; n|N|0) return 1 ;; *) return 1 ;; esac } mkuser () { colorset1 clear echo "\n\n" echo "请 输 入 新 用 户 名: \c" read user #user=${user:-"error.user"} if [ "$user" ] then : else return 0 fi a=`awk -F: '$1=="'$user'" {print $1}' /etc/passwd 2>;/dev/null` [ "$a" ] && { echo "[07;01H[J\007系统中已有 ${FBXS}$user${QXSX} 用户!!!\c" echo "\n\n\n\033[7m 按 <回 车>; 继 续. \033[m ?\b\b\b\b\c" getc key return 0 } a=`expr $user : '[a-z].*' 2>;/dev/null` if [ $? != 0 ] then echo "\n\n\007用户名不合法!!!"; prompt read key return 0 #continue fi { [ $a -lt 3 ] || [ $a -gt 8 ] || [ `expr $user : '[^a-z0-9_]*'` -ne 0 ] ;} && { echo "\n\n\007用户名不合法!!!"; prompt read key return 0 } echo -n "\n\n请输入执行的 SHELL: (1.sh 2.ksh 3.csh 4.scosh)? 【 】?\b\b\b\b\b" getc shell case $shell in 1) shell=/bin/sh;export shell ;; 2) shell=/bin/ksh;export shell ;; 3) shell=csh;export shell ;; 4) shell=/usr/bin/scosh;export shell ;; *) shell=/bin/sh;export shell ;; esac #echo "\n" #echo "[10;50H例: ksh csh /usr/bin/scosh 缺省是 sh" #echo "[21;45H\c " echo "[10;01H[J请输入该用户的属组: \c" read newgroup newgroup=${newgroup:-"group"} g=`awk -F: '$1=="'$newgroup'" {print $1}' /etc/group 2>;/dev/null` if [ "$g" ] then : else newgroup=group export newgroup fi adduser ${user} ${shell} ${newgroup} && sleep 1 && echo "\n\n\n创建用户成功. √" || echo "\n\n\n\007创建用户失败!!!" prompt getc key } rmuser () { colorset3 clear echo "\n\n" echo "请 输 入 删 除 用 户 名: \c" read del_user if [ "$del_user" ] then : else return 0 fi awk -F: '$1=="'$del_user'" {print $0}' /etc/passwd >;/etc/find_user 2>;/dev/null if [ -s /etc/find_user ] then uid=`cat /etc/find_user | awk -F: '{print $3}'` if [ $uid -lt 100 ] then echo "[07;01H[J\007你不能够删除 ${FBXS}系统用户${QXSX} !!!" prompt getc key return 1 else echo -n "\n\n是否删除 ${FBXS}$del_user${QXSX} 用户(1/0)? 【 】?\b\b\b\b\b" getc opt case $opt in y|Y|1) : ;; n|N|0) return 1 ;; *) return 1 ;; esac echo "[10;01H[J请稍后......\c" userdel $del_user >;/dev/null 2>;&1 && sleep 1 && echo "\n\n\n删除用户成功. √" || echo "\n\n\n\007删除用户失败!!!" fi echo "[16;01H[J\033[7m 按 <回 车>; 继 续. \033[m ?\b\b\b\b\c" getc key else echo "[07;01H[J\007输入用户名错误!!!" prompt getc key fi } addgroup() { colorset1 clear echo "\n\n" echo "请 输 入 新 用 户 组: \c" read add_group if [ "$add_group" ] then : else return 0 fi awk -F: '$1=="'$add_group'" {print $0}' /etc/group >;/etc/find_group 2>;/dev/null if [ -s /etc/find_group ] then echo "[07;01H[J\007系统中已有 ${FBXS}$add_group${QXSX} 用户组!!!" prompt getc key else echo -n "\n\n是否创建 ${FBXS}$add_group${QXSX} 用户组(1/0)? 【 】?\b\b\b\b\b" getc opt case $opt in y|Y|1) : ;; n|N|0) return 1 ;; *) return 1 ;; esac gid=`tail -1 /etc/group | awk -F: '{print $3}'` gid=`expr $gid + 10` echo "[10;01H[J请稍后......\c" /etc/groupadd -g ${gid} -o $add_group >;/dev/null 2>;&1 && sleep 1 && echo "\n\n\n创建用户组成功. √" || echo "\n\n\n\007创建用户组失败!!!" #group_add $add_group prompt getc key fi } rmgroup () { colorset3 clear echo "\n\n" echo "请 输 入 删 除 用 户 组: \c" read del_group if [ "$del_group" ] then : else return 0 fi awk -F: '$1=="'$del_group'" {print $0}' /etc/group >;/etc/find_group 2>;/dev/null if [ -s /etc/find_group ] then gid=`cat /etc/find_group | awk -F: '{print $3}'` if [ $gid -lt 51 ] then echo "[07;01H[J\007你不能够删除 ${FBXS}系统原有${QXSX} 的用户组!!!" prompt getc key return 1 else : fi echo -n "\n\n是否删除 ${FBXS}$del_group${QXSX} 用户组(1/0)? 【 】?\b\b\b\b\b" getc opt case $opt in y|Y|1) : ;; n|N|0) return 1 ;; *) return 1 ;; esac echo "[10;01H[J请稍后......\c" groupdel $del_group >;/dev/null 2>;&1 && sleep 1 && echo "\n\n\n删除用户组成功. √" || echo "\n\n\n\007删除用户组失败!!!" prompt getc key else echo "[07;01H[J\007输入用户组错误!!!" prompt getc key fi } enable_termi() { while [ $1 ] do if [ -r "/dev/$1" -a "$1" ] then cat /etc/inittab | grep $1 >;find_tty cat find_tty | awk '{print $1}' >;stat_tty from () { awk ' BEGIN { FS = ":" ; OFS = ":"} { print $3 }' stat_tty } from >;termial stty=`cat termial | awk '{print $1}'` if [ $OFF = ${stty} ] then ps -t $1 >;/tmp/pro_list list_pro=`cat /tmp/pro_list | awk '{print $1}'` for process in $list_pro do kill -9 $process >;/dev/null 2>;&1 done /usr/bin/enable $1 >;/dev/null echo "\n" echo "终端 ${FBXS}$1${QXSX} 已被激活. √" fi if [ $ACTI = ${stty} ] then echo "\n" echo "\007终端 $1 已经激活!!!!" fi else echo "\n" echo "\007无效的 $1 终端!!!" fi shift done }
enable_tty() { colorset2 clear echo "\n" echo "激 活 串 口 终 端\n" echo "\n串 口 号 : \c" read termi_code enable_termi $termi_code prompt read key } disable_termi() { while [ $1 ] do if [ -r "/dev/$1" -a "$1" ] then cat /etc/inittab | grep $1 >;find_tty cat find_tty | awk '{print $1}' >;stat_tty from () { awk ' BEGIN { FS = ":" ; OFS = ":"} { print $3 }' stat_tty } from >;termial stty=`cat termial | awk '{print $1}'` if [ $ACTI = ${stty} ] then ps -t $1 >;/tmp/pro_list list_pro=`cat /tmp/pro_list | awk '{print $1}'` for process in $list_pro do kill -9 $process >;/dev/null 2>;&1 done /usr/bin/disable $1 >;/dev/null echo "\n" echo "终端 ${FBXS}$1${QXSX} 已被关闭. √" fi if [ $OFF = ${stty} ] then echo "\n" echo "\007终端 $1 已经关闭!!!" fi else echo "\n" echo "\007无效的 $1 终端!!!" fi shift done } disable_tty() { colorset2 clear echo "\n" echo "关 闭 串 口 终 端\n" echo "\n串 口 号 : \c" read termi_code disable_termi $termi_code prompt read key } cancel_printer() { clear echo "\n\n" echo "系统将要终止打印机进程.\n" lpstat -u >;/etc/pp if [ -s /etc/pp ] then list=`cat /etc/pp | awk '{print $1}'` echo "请稍候......\n" for jjj in $list do cancel $jjj done else echo "\n" echo "\007没有打印机进程!!!\n" fi prompt read key } command() { /usr/lib/lpadmin -p $new_printer -m epson -v /dev/lp0 2>;/dev/null /usr/lib/lpadmin -d $new_printer >;/dev/null 2>;&1 /usr/lib/lpsched $new_printer >;/dev/null 2>;&1 /usr/bin/enable $new_printer >;/dev/null 2>;&1 /usr/bin/accept $new_printer >;/dev/null 2>;&1 } check_stat() { l /unix >;/tmp/check_unix1 unix_stat1=`cat /tmp/check_unix1 | awk '{print $5}'` if [ $unix_stat -ne $unix_stat1 ] then sync;sync;sync reboot else : fi } add_printer() { colorset1 clear echo "\n\n" echo "请 输 入 新 打 印 机 名: \c" read new_printer #new_printer=${new_printer:-"printer"} if [ "$new_printer" ] then : else return 0 fi hwconfig name=parallel >;/tmp/printer_stat if [ -s /tmp/printer_stat ] then : else echo "\n\n\007请先选择隐含选项 9 增加并行端口驱动程序." prompt getc key break fi /usr/bin/lpstat -a >;/tmp/stat_print hwconfig name=parallel >;/tmp/printer_stat list_print=`cat /tmp/stat_print | awk '{print $1}'` if [ -s /tmp/stat_print and -s /tmp/printer_stat ] then echo "\n\n\007系统已存在 ${FBXS}$list_print${QXSX} 打印机!!!" prompt getc key else echo -n "\n\n是否增加 ${FBXS}${new_printer}${QXSX} 打印机(1/0)? 【 】?\b\b\b\b\b" getc opt case $opt in y|Y|1) : ;; n|N|0) return 1 ;; *) return 1 ;; esac echo "[10;01H[J请稍后......\c" command && sleep 1 && echo "\n\n\n增加打印机成功. √" || echo "\n\n\n\007增加打印机失败!!!" prompt getc key fi } del_printer() { colorset3 clear echo "\n\n" echo "请 输 入 原 打 印 机 名: \c" read old_printer if [ "$old_printer" ] then : else return 0 fi /usr/bin/lpstat -a >;/tmp/stat_print list_print=`cat /tmp/stat_print | awk '{print $1}'` if [ "$list_print" = "$old_printer" ] then echo -n "\n\n是否删除 ${FBXS}${old_printer}${QXSX} 打印机(1/0)? 【 】?\b\b\b\b\b" getc opt case $opt in y|Y|1) : ;; n|N|0) return 1 ;; *) return 1 ;; esac echo "[10;01H[J请稍后......\c" /usr/lib/lpadmin -x ${old_printer} >;/dev/null 2>;&1 && sleep 1 && echo "\n\n\n删除打印机成功. √" || echo "\n\n\n\007删除打印机失败!!!" prompt getc key else echo "\n\n\007系统中没有 ${FBXS}$old_printer${QXSX} 打印机!!!" prompt getc key fi } ku() { clear echo "\n\n" echo "请输入杀死用户名 (例: ywqt): \c" read user if [ "$user" ] then : else return 0 fi who | grep $user >;/tmp/user_list if [ -s /tmp/user_list -a $user != "${ERRUSER}" ] then ps -ef|grep $user |grep -v "grep"|awk '{print $2}'|tr '\n' '\t'|awk '{print "kill -9",$0}'|sh echo "[07;01H所有 ${FBXS}$user${QXSX} 用户的进程被杀死! √" prompt read key else echo "\n" echo 用户 $user 没有注册!!! prompt read key fi #set `who -H | grep $user` 2>;&1 >;/dev/null #set `who -u|grep $2|sort` 2>;&1 >;/dev/null #if test $7 #then kill -9 $7 && echo "用户" $user "的进程被杀死!" #else echo 用户 $user 上无进程 #prompt #read key #fi #fi }
prokill() { clear echo "\n\n" echo "请输入终端设备名 (例: tty2a): \c" read ttyname if [ "$ttyname" ] then : else return 0 fi if [ -r "/dev/$ttyname" -a "$ttyname" ] then set `who -u|grep $ttyname|sort` >;/dev/null if test $7 then ps -t $ttyname >;/tmp/pro_list list_pro=`cat /tmp/pro_list | awk '{print $1}'` for process in $list_pro do kill -9 $process >;/dev/null 2>;&1 done kill -9 $7 2>;/dev/null && echo "\n" && colorset2 ; echo "[07;01H终端 ${FBXS}$ttyname${QXSX} 的进程被杀死! √" else echo "\n" echo 终端 $ttyname 上无进程!!! fi prompt read key else #echo "\n" echo "[08;01H\007无效的终端!!!\n" prompt read key fi #ps -t tty10 >;/tmp/aaa #sed "/PID/d" /tmp/aaa >;/tmp/aaa.tmp #mv /tmp/aaa.tmp /tmp/aaa #read line < /tmp/aaa #set $line #kill -9 $1 }
systime() { clear echo "\n" echo "当前系统时间为: `date +'%Y年%m月%d日%H点%M分%S秒'`" echo "\n" echo "请输入修改时间 (格式: 年月日点分):〖 〗 例:0011072142" ? echo "[6;37H\c " read time if [ "$time" ] then : else return 0 fi date -t $time >;/dev/null 2>;&1 && echo "\n" && echo "现在的系统时间: `date +'%Y年%m月%d日%H点%M分%S秒'`" || echo "\n\n\007输入格式不正确!!!" prompt read key } pr_enable () { colorset1 clear echo "\n\n" /usr/bin/lpstat -a >;/tmp/stat_print 2>;/dev/null list_print=`cat /tmp/stat_print | awk '{print $1}'` if [ "$list_print" ] then echo -n "\n\n是否激活 ${FBXS}$list_print${QXSX} 打印机(1/0)? 【 】?\b\b\b\b\b" getc opt case $opt in y|Y|1) : ;; n|N|0) return 1 ;; *) return 1 ;; esac /usr/lib/lpsched $list_print >;/dev/null 2>;&1 /usr/bin/enable $list_print >;/dev/null 2>;&1 /usr/bin/accept $list_print >;/dev/null 2>;&1 echo "[09;01H[J打印机已被激活!!!\c" echo "[12;01H[J\033[7m 按 <回 车>; 继 续. \033[m ?\b\b\b\b\c" getc key else echo "\007系统中不存在并行打印机!!!\c" echo "[08;01H[J\033[7m 按 <回 车>; 继 续. \033[m ?\b\b\b\b\c" getc key fi } pr_disable () { colorset3 clear echo "\n\n" /usr/bin/lpstat -a >;/tmp/stat_print 2>;/dev/null list_print=`cat /tmp/stat_print | awk '{print $1}'` if [ "$list_print" ] then echo -n "\n\n是否关闭 ${FBXS}$list_print${QXSX} 打印机(1/0)? 【 】?\b\b\b\b\b" getc opt case $opt in y|Y|1) : ;; n|N|0) return 1 ;; *) return 1 ;; esac /usr/lib/lpshut $list_print >;/dev/null 2>;&1 /usr/bin/disable $list_print >;/dev/null 2>;&1 echo "[09;01H[J打印机已被关闭!!!\c" echo "[12;01H[J\033[7m 按 <回 车>; 继 续. \033[m ?\b\b\b\b\c" getc key else echo "\007系统中不存在并行打印机!!!\c" echo "[08;01H[J\033[7m 按 <回 车>; 继 续. \033[m ?\b\b\b\b\c" getc key fi } format_unix() { clear colorset1 str="\n\n插入 ${FBXS}UNIX${QXSX} 磁盘,按回车开始格式化,按 q 键退出." while true do #tput smso echo -n $str #echo "[4;33H\c " #read key #tput rmso x=" " read x if [ "$x" = "q" -o "$x" = "Q" ] then break else echo -n "\n\n正在格式化......";format -f /dev/rfd0135ds18 >;/dev/null 2>;&1 && colorset2 && echo "\n\n格式化成功. √" || { if [ $? != 0 ] then echo "\n\n" str="\007盘未插好或盘已坏, 请再插盘, q 键退出, 回车键开始:\c" continue else break fi } #echo "\n\n\n\007格式化失败!!!" prompt read key break fi done } format_dos() { clear colorset3 str="\n\n插入 ${FBXS}DOS${QXSX} 磁盘,按回车开始格式化,按 q 键退出." while true do #tput smso echo -n $str #echo "[4;33H\c " #read key #tput rmso x=" " read x if [ "$x" = "q" -o "$x" = "Q" ] then break else echo -n "\n\n正在格式化......";/usr/bin/dosformat -f /dev/rfd0135ds18 >;/dev/null 2>;&1 && colorset2 && echo "\n\n格式化成功. √" || { if [ $? != 0 ] then echo "\n\n" str="\007盘未插好或盘已坏, 请再插盘, q 键退出, 回车键开始:\c" continue else break fi } #echo "\n\n\n\007格式化失败!!!" prompt read key break fi done } print_menu () { while clear echo "[05;10H┌────────────────────────────┐" echo "[06;10H│ ${FBXS}打 印 机 管 理 主 菜 单${QXSX} │" echo "[07;10H├────────────────────────────┤" echo "[08;10H│ │" echo "[09;10H│ │" echo "[10;10H│ 1......... 终 止 打 印 机 进 程. │" echo "[11;10H│ │" echo "[12;10H│ 2......... 激 活 并 行 打 印 机. │" echo "[13;10H│ │" echo "[14;10H│ 3......... 关 闭 并 行 打 印 机. │" echo "[15;10H│ │" echo "[16;10H│ 4......... 增 加 并 行 打 印 机. │" echo "[17;10H│ │" echo "[18;10H│ 5......... 删 除 并 行 打 印 机. │" echo "[19;10H│ │" echo "[20;10H│ 0..........退 出. │" echo "[21;10H│ │" echo "[22;10H├────────────────────────────┤" echo "[23;10H│ 请 选 择:【 】? │" echo "[24;10H└────────────────────────────┘" echo "[23;41H\c" do getc cmd case $cmd in 1) cancel_printer ;; 2) pr_enable ;; 3) pr_disable ;; 4) add_printer ;; 5) del_printer ;; 9) mkdev parallel;check_stat ;; #隐含选项: 设置硬件驱动程序 0|q) clear return 1 ;; #*) error ;; esac done } termi_menu () { while clear echo "[05;10H┌────────────────────────────┐" echo "[06;10H│ ${FBXS}终 端 管 理 主 菜 单${QXSX} │" echo "[07;10H├────────────────────────────┤" echo "[08;10H│ │" echo "[09;10H│ │" echo "[10;10H│ 1......... 杀 死 指 定 终 端 上 的 进 程. │" echo "[11;10H│ │" echo "[12;10H│ 2......... 关 闭 串 口 终 端. │" echo "[13;10H│ │" echo "[14;10H│ 3......... 激 活 串 口 终 端. │" echo "[15;10H│ │" echo "[16;10H│ 0..........退 出. │" echo "[17;10H│ │" echo "[18;10H├────────────────────────────┤" echo "[19;10H│ 请 选 择:【 】? │" echo "[20;10H└────────────────────────────┘" echo "[19;41H\c" do getc cmd case $cmd in 1) prokill ;; 2) disable_tty ;; 3) enable_tty ;; 9) mkdev serial;check_stat ;; #隐含选项: 设置硬件驱动程序 0|q) clear return 1 ;; #*) error ;; esac done } user_menu () { while clear echo "[05;10H┌────────────────────────────┐" echo "[06;10H│ ${FBXS}用 户 管 理 主 菜 单${QXSX} │" echo "[07;10H├────────────────────────────┤" echo "[08;10H│ │" echo "[09;10H│ │" echo "[10;10H│ 1......... 增 加 注 册 用 户. │" echo "[11;10H│ │" echo "[12;10H│ 2......... 删 除 注 册 用 户. │" echo "[13;10H│ │" echo "[14;10H│ 3......... 增 加 注 册 组. │" echo "[15;10H│ │" echo "[16;10H│ 4......... 删 除 注 册 组. │" echo "[17;10H│ │" echo "[18;10H│ 0..........退 出. │" echo "[19;10H│ │" echo "[20;10H├────────────────────────────┤" echo "[21;10H│ 请 选 择:【 】? │" echo "[22;10H└────────────────────────────┘" echo "[21;41H\c" do getc cmd case $cmd in 1) mkuser ;; 2) rmuser ;; 3) addgroup ;; 4) rmgroup ;; 9) scoadmin acc ;; #隐含选项: 字符界面帐户管理 0|q) clear return 1 ;; #*) error ;; esac done } drive_menu() { echo "\n\n\n\n\n\n 请选择您所使用的软盘驱动器 ┏━━━━━━━━━━┓ ┃ ┃ ┃ 1.软盘驱动器 1.2MB┃ ┃ ┃ ┃ 2.软盘驱动器 1.2MB┃ ┃ ┃ ┃ ${FBXS}3.软盘驱动器 1.44MB${QXSX}┃ ? ┃ ┃ ┃ 4.软盘驱动器 1.44MB┃ ┃ ┃ ┃ 0. 退 出 ┃ ┃ ┃ ┃ 请 选 择 [ ] ┃ ┗━━━━━━━━━━┛" echo "[21;45H\c " getc DR } format_menu() { while clear echo "\n\n\n\n\n\n 请选择您所使用的软盘驱动器 ┏━━━━━━━━━━┓ ┃ ┃ ┃ 1.软盘驱动器 1.2MB┃ ┃ ┃ ┃ 2.软盘驱动器 1.2MB┃ ┃ ┃ ┃ ${FBXS}3.软盘驱动器 1.44MB${QXSX}┃ ? ┃ ┃ ┃ 4.软盘驱动器 1.44MB┃ ┃ ┃ ┃ 0.退 出 ┃ ┃ ┃ ┃ 请 选 择 [ ] ┃ ┗━━━━━━━━━━┛" echo "[21;45H\c " do getc DR case $DR in #1) : ;; #break ;; #format /dev/rfd096ds15 #prompt #read key ;; # 2) break ;; #format /dev/rfd196ds15 #prompt #read key ;; 3) format_unix ;; #4) break ;; #format /dev/rfd1135ds18 #prompt #read key ;; 0|q) return 0 ;; # 0) ;; esac #;; done } disk_menu () { while clear do colorset1 echo "[05;10H┌────────────────────────────┐" echo "[06;10H│ ${FBXS}磁 盘 管 理 主 菜 单${QXSX} │" echo "[07;10H├────────────────────────────┤" echo "[08;10H│ │" echo "[09;10H│ │" echo "[10;10H│ 1......... 格 式 化 软 盘(${FBXS}UNIX${QXSX}) │" echo "[11;10H│ │" colorset3 echo "[12;10H│ 2......... 格 式 化 软 盘(${FBXS}DOS${QXSX}) │" echo "[13;10H│ │" echo "[14;10H│ 3......... 显 示 磁 盘 内 容(${FBXS}DOS${QXSX}) │" echo "[15;10H│ │" colorset1 echo "[16;10H│ 4......... 显 示 磁 盘 内 容(${FBXS}UNIX${QXSX}) │" echo "[17;10H│ │" echo "[18;10H│ 0..........退 出. │" echo "[19;10H│ │" echo "[20;10H├────────────────────────────┤" echo "[21;10H│ 请 选 择:【 】? │" echo "[22;10H└────────────────────────────┘" echo "[21;41H\c" getc acc case $acc in 1) format_menu ;; 2) format_dos ;; 3) clear colorset3 echo "\n\n插入 ${FBXS}DOS${QXSX} 磁盘按回车,开始显示." echo "[4;30H\c" read key echo "\n" && dosdir a: 2>;/dev/null || echo "\007显示磁盘内容失败!!!" prompt read key ;;
4) while clear do drive_menu case $DR in #1) Y=0 break ;; #2) Y=0 break ;; 3) Y=0 break ;; #4) Y=0 break ;; 0) Y=1 break ;; # 0|q) clear # return 1 ;; #*) #echo "\n" #echo "\007\n\t\t ? 非 法 选 择!" #prompt #read key #;; esac done if [ $Y = 0 ] then clear echo "\n\n\n插入 ${FBXS}UNIX${QXSX} 磁盘,按回车开始显示." echo "[4;31H\c" read key echo "\n" && tar tv 2>;/dev/null || echo "\007显示磁盘内容失败!!!" prompt read key fi ;; 0) clear return 1 ;; esac done }
sysoff() { echo "\n\n" echo "现在正在使用的终端有:" echo "\n" who echo "\n是否关闭 UNIX ? (y/n) \c" if getyn then /etc/shutdown -y -g0 fi } check_user () { clear if who | grep $USER >;/dev/null then clear echo "\n\n\n" echo "\007\007请先退出 ${FBXS}chuxu${QXSX} 用户在关机!!!\c" sysoff #prom else sysoff fi } for code in 01 02 03 04 05 06 07 08 09 10 11 12 do if [ /dev/tty${code} = $termial ] then while clear colorset1 echo "[04;10H┌────────────────────────────┐" echo "[05;10H│ ${FBXS}★ 系 统 管 理 主 菜 单 ★${QXSX} │" echo "[06;10H├────────────────────────────┤" echo "[07;10H│ │" echo "[08;10H│ 1......... 设 置 系 统 时 间. │" echo "[09;10H│ │" echo "[10;10H│ 2......... 打 印 机 管 理 系 统. │" echo "[11;10H│ │" echo "[12;10H│ 3......... 终 端 管 理 系 统. │" echo "[13;10H│ │" echo "[14;10H│ 4......... 软 盘 管 理 系 统. │" echo "[15;10H│ │" echo "[16;10H│ 5......... 用 户 管 理 系 统. │" echo "[17;10H│ │" echo "[18;10H│ 6......... 关 闭 系 统. │" echo "[19;10H│ │" echo "[20;10H│ 0......... 退 出. │" echo "[21;10H│ │" echo "[22;10H├────────────────────────────┤" echo "[23;10H│ 请 选 择:【 】? │" echo "[24;10H└────────────────────────────┘" echo "[23;41H\c" do getc cmd case $cmd in 1) systime ;; 2) print_menu ;; 3) termi_menu ;; 4) disk_menu ;; 5) check_pass ;; 6) check_user ;; 7) ku ;; #隐藏选项 杀死输入全部用户 j) /etc/jsq ;; #记算器 0|q) clear setcolor -r black white exit ;; #*) error ;; esac done else continue fi done clear echo "[12;30H[J\007${FBXS}请在主控制台上运行!${QXSX}\n\n" exit #ps -ef -o pid=PID -o cmd=CMD|grep $name|awk '{print $1}'|kill -9
#ps -ef -o pid=PID cmd=CMD|grep $pname|awk '{print $1}'|xargs kill -9 |