ITPub博客

首页 > Linux操作系统 > Linux操作系统 > shell学习(2)整理

shell学习(2)整理

原创 Linux操作系统 作者:453603647 时间:2014-10-13 23:44:09 0 删除 编辑
例1:
写一个程序,判断周一到周日吃什么
周一 大白菜
周二 小白菜
周三 土豆
周四 山药
周五 萝卜
周六 鲍鱼
周日 什么都不吃

每次运行程序之后询问是否退出程序


#!/bin/bash
while :
do
    read -p "请输入星期数:" nu
    case $nu in
    1)
      echo "大白菜";;
    2)
      echo "小白菜";;
    3)
      echo "土豆";;
    4)
      echo "山药";;
    5)
      echo "萝卜";;
    6)
      echo "鲍鱼";;
    7)
      echo "什么都不吃";;
    esac
    read -p "是否继续执行循环?(y/n)" flag
    case $flag in
    n|N)
       exit;;
    y|Y)
       continue;;
    esac
done




useradd 添加用户
useradd -d /xxx xxx 添加用户时指定用户的家目录
useradd -s /xxx xxx 添加用户时指定用户的bash,这样用户就不可以登录系统了
userdel -r xxx 删除用户


家目录也叫主目录,为用户登录系统默认所在的目录


echo $HOME   查看当前用户的家目录
家目录默认在/home/xxx
可以在创建用户的时候指定



例2:
编写myuadd.sh脚本用于批量添加用户账号
user01--user10,如果用户存在,则不创建
批量删除用户,如果重复删除,则不输出错误信息


#!/bin/bash
while :
do
    read -p "请输入数字(1 or 2):" nu
    case $nu in
    1)  
       for i in `seq -f %03g 10`
        do  
         grep "user$i" /etc/passwd &> /dev/null
         ret=$?
         if [ $ret -ne 0 ];then
            useradd user$i
         fi  
        done
       ;;  
    2)  
       for i in `seq -f %03g 10`
         do  
            userdel -r user$i &> /dev/null
         done
         ;;  
    *)  
        echo "输出错误,退出程序"
        exit
    esac
    read -p "是否继续(y|n)" flag
    case $flag in
    n|N)
        exit;;
    esac
done

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26705770/viewspace-1297853/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    6
  • 访问量
    15794