给登陆用户发信

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

拥有回忆 提交于 2019-12-05 15:22:01
题目要求: 编写一个脚本,显示当天日期,查找给定的某用户是否在系统中工作。如果在系统中,就发一个问候给他。 题目代码: #!/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