最近的博客一直都是在乱扯理论,觉得有些不好意思了都,先拿出个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

不羡慕别人,不怨尤自己!做最开心的自己最重要!!