shell脚本中随机生成十个数,并找出其中最大值和最小值

#!/bin/bash
for i in `seq 1 10`;do
    myrand=$RANDOM
      if [ $i -eq 1 ];then    #把第一次产生的随机数赋值给max和min
         max=$myrand
         min=$myrand
      fi
      if [ $i -le 9 ] ;then
        echo -n "$myrand,"
      else
        echo "$myrand"
      fi
      [ $myrand -gt $max ] && max=$myrand    #产生的随机数比max大时,赋值给max
      [ $myrand -lt $min ] && min=$myrand    #产生的随机数比min小时,赋值给min
done
  echo $max,$min

maxmin

Read More

用shell脚本实现批量添加用户(改进方法)

添加10个用户user1—user10,密码同用户名,要求只有用户不存在的情况下才添加
在上一篇博客中,用了两次for循环解决的,实现比较复杂,其实有更简单的方法来判断系统中是否存在某一个用户
id 用户名 就可以判断用户是否存在,不存在会报错,存在会显示用户ID等相关信息,所以改进的shell脚本如下:


#!/bin/bash
#

for i in `seq 1 10` ;do  
  if id user$i &> /dev/null ; then
     echo "user$i exits!"
  else
     useradd user$i
     echo user$i |passwd --stdin user$i
     echo "Add user user$i finished."
  fi
done

Read More

用shell脚本实现批量添加用户

添加10个用户user1到user10,密码和用户名一样,但要求只有用户不存在的情况下才能添加:


#!/bin/bash
#
k=`wc -l /etc/passwd | cut -d' '  -f1`
for i in `seq 1 10` ;do  (外循环)
  m=0
     for j in `seq 1 $k`; do(内循环,比较user1-10用户在系统中存在不)
      z=`head -n $j /etc/passwd | tail -1 | cut -d: -f1`(取出系统中的每个用户名)
      if [ "user$i" == "$z" ];then
       m=$[$m+1](如果存在则m加1)

      fi
     done
  if [ $m -eq 0 ];then(当m为0时就不存在用户)
  useradd user$i
  echo user$i |passwd --stdin user$i
  fi
done

Read More