[问题]刚学shell编程,大虾们多多关照,顺便请教个问题
发表于 : 2007-05-31 16:46
这是我们的作业,题目要求:编写一个shell脚本,显示当天日期,查找给定的 某用户是否在系统中工作,如果他在系统中,就发一个问候给他,下面是我写的,文件名叫ex6.10
date '+今天是:%Y年%b %d日'
fun(){
username=$1
count=`who | grep "${username} " | wc -l`
if [ $count -gt 0 ]
then
echo "Hello!${username}!"
else
echo "您输入的用户名不在系统中"
fi
}
echo $1 ###########测试
if [ $# -eq 0 ] ############如果参数个数等于0,那么要求输入用户名
then
echo -n "请输入一个用户名:"
read newname
set $newname
fun $1
else
fun $1
fi
开启一个xterm
输入 # . ex6.10
输出:
今天是:2007年 5月 31日
请输入一个用户名:
输入:root
输出:Hello!root!
OK!到目前为止没有任何问题
那我再试一次:
输入:# . ex6.10
这次就不提示我输入用户名了
输出是:
今天是:2007年 5月 31日
root
Hello!root!
然后我另开一个xterm
输入:# . ex6.10
现在又让我输入用户名了
完成以后,再输入# . ex6.10
输出又是:
今天是:2007年 5月 31日
root
Hello!root!
哪位高手能帮我解释一下?
date '+今天是:%Y年%b %d日'
fun(){
username=$1
count=`who | grep "${username} " | wc -l`
if [ $count -gt 0 ]
then
echo "Hello!${username}!"
else
echo "您输入的用户名不在系统中"
fi
}
echo $1 ###########测试
if [ $# -eq 0 ] ############如果参数个数等于0,那么要求输入用户名
then
echo -n "请输入一个用户名:"
read newname
set $newname
fun $1
else
fun $1
fi
开启一个xterm
输入 # . ex6.10
输出:
今天是:2007年 5月 31日
请输入一个用户名:
输入:root
输出:Hello!root!
OK!到目前为止没有任何问题
那我再试一次:
输入:# . ex6.10
这次就不提示我输入用户名了
输出是:
今天是:2007年 5月 31日
root
Hello!root!
然后我另开一个xterm
输入:# . ex6.10
现在又让我输入用户名了
完成以后,再输入# . ex6.10
输出又是:
今天是:2007年 5月 31日
root
Hello!root!
哪位高手能帮我解释一下?