【实验】给指定的并且已登陆系统的用户发信息

本文介绍了一个简单的Shell脚本,该脚本能够显示当前日期并检查指定用户是否在线。如果用户在线,则通过系统消息向其发送问候。文章还提供了一个参考答案,展示了如何使用循环和条件判断来实现这一功能。

题目要求:

编写一个脚本,显示当天日期,查找给定的某用户是否在系统中工作。如果在系统中,就发一个问候给他。

题目代码:

#!/bin/bash
echo `date +'%Y-%M-%D %H:%M:%S' `
if [ $# -eq 0 ];then
  echo "no input!!"
  exit 1
fi
until [ "$#" -eq 0 ]
do 
  who | grep '\b'$1'\b'  > /dev/null
  if [  "$?" =  0 ];then
        write $1
  fi
  shift
done
exit 0

代码中$#保存了输入参数个数的环境变量,$n(n=1,2,..)是保存输入参数的位置参数。判断用户是否登录用了 '\b'$1'\b',\b是单词锁定符,如\broot\b就是指匹配单词root。

输入 # chmod +x ./文件名(一般保存为*.sh)使文件变为可执行文件,执行。

如给自己发一个信息:

后言:最近在学习linux shell程序设计,发上来只是为了开始我的博客之路,不积跬步,无以至千里。

当学习笔记吧,多多指点。


参考答案:

Until who | grep –w “$1”
Do
  sleep 20
Done
For a in `who | grep –w “$1” | awk {‘print $2’}`
Do
   echo “hello”>/dev/$a
Done
Exit 0

echo 信息 > /dev/终端名称用法如图:


 

转载于:https://my.oschina.net/aram/blog/96203

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值