- 论坛徽章:
- 0
|
- ###############################
- # 程序名 : 系 统 管 理 #
- # 版本 : 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
复制代码 |
|