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

echo -n "当天日期:"
date

username=$1
if who|grep "$username"
then
echo "$username is in system"
echo "write a message to $username:"
write $username
else
echo "$username is not in system"
fi

输入:bash 4.10 jack

当天日期:2022年 03月 14日 星期一 21:27:07 CST
jack     pts/1        2022-03-14 20:33 (192.168.254.166)
jack is in system
write a message to jack:
hello

jack这边的显示:
Message from root@Edu1 on pts/0 at 21:27 ...
hello

who命令用于列举出当前已登录系统的用户名称。其输出为:用户名、tty号、时间日期、主机地址。

要查找的用户,通过位置参数输入
who|grep "$username" 筛选出名字为...的当前在线用户

给其他用户发送信息
write 用户名
然后会跳到下一行 输入要发送的信息
这信息的发送 放在输入命令里写

我有一个问题,为什么
	if [[ who|grep "$username" ]]  这样写不行?

猜你喜欢

转载自blog.csdn.net/m0_52041525/article/details/123489065