最近的博客一直都是在乱扯理论,觉得有些不好意思了都,先拿出个shell脚本和大家分享一下我的思路,尽管理论知识还是没有写完…………(*^__^*) 嘻嘻……
写一个脚本,完成以下功能:
1、提示用户输入一个用户名;
2、显示一个菜单给用户,形如:
U|u show UID
G|g show GID
S|s show SHELL
Q|q quit
3、提醒用户选择一个选项,并显示其所选择的内容;如果用户给的是一个非上述所提示的选项,则提醒用户给出的选项错误,并请其重新选择后执行;
#!/bin/sbin
#
#
file=/etc/passwd //首先定义一个变量,来代表/dev/passwd
read -p "Enter a user name; " myuser
uid=`grep $myuser $file | cut -d: -f3` //查找用户名的UID
gid=`grep $myuser $file | cut -d: -f4` //查找用户名的GID
shell=`grep $myuser $file | cut -d: -f7` //查找用户名的SHELL
/* cat << END
U|u show UID
G|g show GID
S|s show SHELL
Q|q Quit
END */
if [ -e $myuser ];then
echo "The name is $myuser"
/* echo "U|u show UID"
echo "G|g show GID"
echo "S|s show SHELL"
echo "Q|q quit" */ 两段/* */括起来的内容意思是一样的,就是把这四句话显示到屏幕上。
read -p "Please choice a option: " inp
echo "your option: $inp"
inp=`echo "$inp" | tr 'a-z' 'A -Z'` //把用户输入的选择项全部替换成大写
until [ "$inp" = "U" -o "$inp" = "G" -o "$inp" = "S" -o "$inp" = "Q" ];do //如果用户输入的不是以上四类就执行下面的语句
read -p "Please choice a option: " inp
echo "Your option : $inp"
done //until 语句结束
if [ "$inp" = 'U' ];then
echo "The $myuser UID is $uid"
elif [ "$inp" = 'G' ];then
echo "The $myuser GID is $gid"
elif [ "$inp" = 'S' ];then
echo "The $myuser SHELL is $shell"
else
exit 8
fi
else
echo "Wrong input.The user is not exits."
read -p "Enter a user name again: " myuser
fi
这道题大致上就是这么写的,用的是Vim编辑器,我还没有在我的博客里说起过,不过,只要能看得懂的就是学过的,在这也不多做介绍。
做此题的时候,还没有学case的用法,要不然怎么会这么麻烦呢??
大家将就着看吧,今天情人节,别人都出去狂欢了,可怜的我还在电脑前做作业…………555555555555555
不羡慕别人,不怨尤自己!做最开心的自己最重要!!