Fedora Linux shell 脚本编程

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

第1个回答  2009-12-13
思路:
日期---date
系统用户可以who命令查看当前登录的用户。
发问候可以用write命令。
以下为脚本:

#! /bin/sh

date
echo "输入你要查找的用户"
read USERNAME
who | grep $USERNAME
STATUS=`echo $?`

if [ $STATUS -eq 0 ]
then
echo -n $USERNAME
echo " now is online"
echo -n "输入您要发送的信息"
echo ", 回车后以 ctrl + D 结束"
write $USERNAME
else
echo -n $USERNAME
echo " 不存在。"
fi

看了overawe的回答,我的回答实在是拿不出手啊啊
第2个回答  2009-12-15
#!/bin/bash
date
[ -z $1 ] && exit 1
tmp="$1"
who | awk -v name=$tmp '$1~/name/{system("echo nihao >/dev/"$2)}'

大概就是这个样子没有测试
----------------------------------------------------------
caokaiqi 客气了
你的脚本更适合他
我的脚本只是演示这个意思,还有很多bug

大概改了一下基本上能用了
-----------f28.sh---------------
#!/bin/bash
#编写一个shell脚本,显示当天日期,查找给定的某用户是否是系统用户,如果该用户在系统中工作,则发一个问候给他
#最少需要1个参数 参数1是发给那个用户, 可选参数2是发送什么问候语
#bash f28.sh user "NI HAO MA"

date
[ -z $1 ] && exit 1
nihao=${2:-"NiHao"}
#echo $nihao

who | awk -v name="$1" -v tmp="$nihao" '$1~name{system("echo -n "tmp" >/dev/"$2)}' 2>/dev/null

-------------------------本回答被提问者采纳
相似回答