shell编程-发送消息

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
需求:利用 Linux 自带的 mesg 和 write 工具,编写一个向用户快速发送消息的脚本,输入用户名作为第一个参数,消息内容为第二个参数。脚本需要检测用户是否登录,是否打开消息功能,以及当前发送消息是否为空。
1、编写脚本
send_message.sh
#!/bin/bash
# 脚本说明:执行此脚本的时候需要传入两个参数($1用户名、$2消息内容),用于向指定登录用户快速发送消息。 # 判断用户是否登录,忽略大小写,多个用户的话匹配第一个
login_user=$(who | grep -i -m 1 $1 | awk '{print $1}')
if [ -z $login_user ]
then
echo "$login_user 未登录!"
echo "脚本退出..."
exit
fi # 判断用户是否开启发送消息功能
is_allowed=$(who -T | grep -i -m 1 $1 | awk '{print $2}')
if [ $is_allowed != "+" ]
then
echo "$login_user 未开启发送消息功能,请先开启!"
echo "脚本退出..."
exit
fi # 判断消息内容是否为空
if [ -z $2 ]
then
echo "消息内容为空,请检查!"
echo "脚本退出..."
exit
fi # 获取完整消息内容
whole_msg=$(echo $* | cut -d " " -f 2-) # 获取登录终端名称
user_terminal=$(who | grep -i -m 1 $1 | awk '{print $2}') # 发送消息并判断是否发送成功
echo $whole_msg | write $login_user $user_terminal
if [ $? = 0 ]
then
echo "发送成功!"
else
echo "发送失败!"
fi exit
2、给脚本添加可执行权限
[root@hadoop129 scripts]# chmod u+x send_message.sh
3、执行脚本
[root@hadoop129 scripts]# ./send_message.sh zhongxintao hello,welcome to linux!
发送成功!
4、登录用户查看消息
[zhongxintao@hadoop129 ~]$
Message from root@hadoop129 on pts/0 at 15:45 ...
hello,welcome to linux!
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: shell

“shell编程-发送消息” 的相关文章

1020. Tree Traversals (25)

1020. Tree Traversals (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standa...

状态模式(State)

状态模式:允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类. 主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况.把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化. 要点: 1.状态模式允许一个对象基于内...

字符串

>>> quest = ' what is your favorite color?' >>> quest.capitalize <built-in method capitalize of str object at 0x0000000002D71170&...

WebSocket实现后端数据变化,通知前端实时更新数据

背景 ​ 项目中需要做一个消息提示功能当有用户处理相关待办信息后别的用户需要实时更新处理后的待办信息。 解决方案 ​ 1、使用最原始的方法写个定时器去查询待办信息。但这种方式在大多数情况是不被允许的它会浪费系统中的许多资源同时也并不是完全意义上的实时更新。 ​ 2、使用WebSocket通信...

UVa 10082 WERTYU (water ver.)

10082 - WERTYUTime limit: 3.000 secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem...

物联网感知安全——你了解多少?

前言 今天主要和大家分享的是物联网的感知安全 感谢大家的支持呀❤ Slogan日拱一卒功不唐捐 物联网感知安全  感知层是物联网的信息源也是物联网各种拓展应用的基础感知层的安全是整个物联网安全的首要问题  感知安全是物联网中最具特色的部分。感知节点数量庞大直接面向世间万“物”。物联...