首页 > 代码库 > linux--shell编程(六)使用脚本选项及组合条件测试

linux--shell编程(六)使用脚本选项及组合条件测试

写一个脚本:

1.添加10个用户user1到user10, 密码同用户名;但要求只有用户不存在的情况才能添加;

#!/bin/bash
#
for I in {1..10}; do
    if ! id user$I &>/dev/null; then 
        useradd user$I
        echo "user$I" | passwd --stdin user$I
    else
        echo "user$I exists"
    
    fi
done

删除上述十个用户

#!/bin/bash
#
for I in {1..10}; do
    if id user$I &> /dev/null; then
        userdel -r user$I &> /dev/null
        echo "user$I deleted"
    else
        echo "user$I not exists"
    fi
done

扩展: 根据输入参数进行添加或删除指定几个用户,

 #!/bin/bash
  2 #
  3 if [ $# -lt 1 ]; then
  4     echo "Usage: No ARGs"
  5 fi
  6 if [ $1 == "--add" ]; then
  7 for I in `echo $2 | sed s/,/ /g`; do
  8     if id $I &> /dev/null; then
  9        echo "$I exists"
 10     else
 11         useradd $I
 12         echo $I | passwd --stdin $I &> /dev/null
 13         echo "Add $I finished"
 14     fi
 15 done
 16 elif [ $1 == "--del" ]; then
 17 for I in `echo $2 | sed s/,/ /g`; do
 18     if ! id $I &> /dev/null; then
 19         echo "$I not exists"
 20     else
 21         userdel -r $I
 22         echo "Delete $I finished"
 23     fi

 

测试 : 

整数测试

   -le -lt -gt -ge -eq -ne

字符测试

    == != > < -n -z

文件测试

    -e -f -d -r -w -x

组合测试条件

    -a : 与关系

    -o : 或关系

    ! : 非关系

if [ $# -gt 1 -a $# -le 3 ]

if [ $# -gt 1 ] &&  [ $# -le 3 ]

linux--shell编程(六)使用脚本选项及组合条件测试