shell脚本:使用shell求10以内奇偶和、给在线用户发送信息

需求一:实现偶数和

[root@localhost opt]# vim 1.sh
#!/bin/bash
sum=0
for ((i=1;i<=10;i++))
 do
  if [ `expr $i % 2` -eq 0 ]   ##实现奇数和只需要将 “0”改为“1”
    then
  continue
   let sum+=$1
fi
let sum+=$i
done
echo $sum

给与权限并执行

[root@localhost opt]# chmod +x 1.sh 
[root@localhost opt]# ./1.sh 
25

需求二:给在线用户发送信息,如用户不在线,每个3秒查询一次,直到用户上线再给用户发送信息

[root@localhost opt]# vim ping.sh 
#!/bin/bash
username=$1
#检查语法
if [ $# -lt 1 ];then
  echo "Usage:basename $0 <username> [<message>]"
  exit 1
fi
#检查是否存在用户
    if grep "^$username" /etc/passwd &> /dev/null;then :
      else
       echo "不存在用户"
      exit 2
  fi
#判断用户是否在线
  until who | grep "$username" &> /dev/null;do
   echo "用户不在线"
   sleep 3
done

mes=$*
echo "$mes" | write "$1"

给与权限并执行脚本

[root@localhost opt]# chmod +x ping.sh
[root@localhost opt]# ./ping.sh wangwu hello #在线用户
[root@localhost opt]#

在这里插入图片描述

给不在线的用户发送信息

[root@localhost opt]# ./ping.sh cat hello  #cat用户不在线
用户不在线
用户不在线
发布了48 篇原创文章 · 获赞 46 · 访问量 6611

猜你喜欢

转载自blog.csdn.net/weixin_45726050/article/details/103561896