- 论坛徽章:
- 1
|
透过 Google AdSense 使您的网站产生收益
###############################
# 程序名 : 系 统 管 理 #
# 版本 : 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 ;/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
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/31/showart_288549.html |
|