user_count.sh

代码:

       1 #!/bin/bash
       2
       3 [ -e  /root/user.txt ] || rm -f /root/user.txt
       4 [ -e  /root/usercount.txt ] || rm -f /root/usercount.txt
       5 touch /root/user.txt
       6 touch /root/usercount.txt
       7
       8 read -p "Please assign a user:" USER
       9
     10 if cut -d: -f1 /etc/passwd |grep "^$USER$" &> /dev/null;then
     11         who | grep "$USER" > /root/user.txt
     12         wc -l /root/user.txt | cut -d" " -f1 > /root/usercount.txt
     13         COUNT=`cat /root/usercount.txt`
     14
     15         while [ $COUNT -lt 6 ];do
     16                 sleep 2
     17                 echo "$COUNT $USER had log in!"
     18                 who | grep "$USER" > /root/user.txt
     19                 wc -l /root/user.txt | cut -d" " -f1 > /root/usercount.txt
     20                 COUNT=`cat /root/usercount.txt`
     21         done
     22         echo "WoW! $USER had log in 6 times!"
     23         exit
     24 else
     25         echo "You fool!Give me a correct user!"
     26 fi

 

 

总结:

   

开始的时候出现了创建问题,总是出现重复创建目录、文件。后来用[-e ]来判断文件目录是否存在再创建文件或目录得到了解决。

在写循环语句的时候ifwhile的放置出现问题,如果把if放到while中时会出现条件判断出错的问题。

编写的时候忘了怎么把查询出来的结果赋给一个变量了,最后上网查了下,原来是用反引号来写   COUNT=`cat /root/usercount.txt`

 

shell的时候一定要条理逻辑清晰,否则很容易出错。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值