分页: 1 / 1

一段不是很理解的程序

发表于 : 2006-08-26 23:40
wchcastle

代码: 全选

#!/bin/sh
until who | grep “$1” > /dev/null
do
sleep 60
done
# now ring the bell and announce the expected user.
echo -e \\a
echo “**** $1 has just logged in ****”
exit 0
那位达人详细讲解一下
//bow

发表于 : 2006-08-27 0:42
eexpress
找一个人,直到找到(登录了)

发表于 : 2006-08-28 0:38
wchcastle
比如程序名为until
运行
./until eexpress
然后eexpress登录了
就会输出**** eexpress has just logged in****

对吗

发表于 : 2006-10-27 11:44
xdsnet
这个应该是一个监视程序,用于监视某人是否登录
who | grep “$1” > /dev/null 会判断登录用户信息是否包括 $1 指定的用户,如果没有就返回失败,否则返回成功
而until 循环是 直到成功才退出循环,所以如果一直 $1 指定用户没有登录就一直循环,直到登录了;
循环体中没有实际执行,为了为其他程序留出运行时间,所以就休眠一会儿;
跳出循环后首先是输出一个响铃并且在标准输出上输出一行文本提示后退出程序;