一段不是很理解的程序

sh/bash/dash/ksh/zsh等Shell脚本
回复
wchcastle
帖子: 78
注册时间: 2005-08-20 20:56
送出感谢: 0
接收感谢: 0

一段不是很理解的程序

#1

帖子 wchcastle » 2006-08-26 23:40

代码: 全选

#!/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
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

#2

帖子 eexpress » 2006-08-27 0:42

找一个人,直到找到(登录了)
● 鸣学
wchcastle
帖子: 78
注册时间: 2005-08-20 20:56
送出感谢: 0
接收感谢: 0

#3

帖子 wchcastle » 2006-08-28 0:38

比如程序名为until
运行
./until eexpress
然后eexpress登录了
就会输出**** eexpress has just logged in****

对吗
xdsnet
帖子: 80
注册时间: 2006-02-28 15:44
送出感谢: 0
接收感谢: 0

#4

帖子 xdsnet » 2006-10-27 11:44

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

回到 “Shell脚本”