等待指定用户登录系统
2010-04-14 10:11
253 查看
今天在一本Shell书上看到了wait_for_user的函数,原函数如下:
wait_for_user () {
until who | grep “$1” > /dev/null
do
sleep ${2:-30} //这里的意思是如果参数2存在且非null,则返回$2,否则返回30
done
}
但是以上并不是完全正确的,因为 grep “$1” 是部分匹配,如果有用户zhangsan, zhang,那么$1=zhang时,zhangsan也能被匹配到,故需要稍作修改
wait_for_user () {
until who | grep “^${1} ” > /dev/null //匹配以$1开头的第一个单词知道遇到空格,注意这里不能写成$1或者{$1}, $1不会替换成参数值,{$1}替换后会类似{zhang}
do
sleep ${2:-30} //这里的意思是如果参数2存在且非null,则返回$2,否则返回30
done
}
wait_for_user () {
until who | grep “$1” > /dev/null
do
sleep ${2:-30} //这里的意思是如果参数2存在且非null,则返回$2,否则返回30
done
}
但是以上并不是完全正确的,因为 grep “$1” 是部分匹配,如果有用户zhangsan, zhang,那么$1=zhang时,zhangsan也能被匹配到,故需要稍作修改
wait_for_user () {
until who | grep “^${1} ” > /dev/null //匹配以$1开头的第一个单词知道遇到空格,注意这里不能写成$1或者{$1}, $1不会替换成参数值,{$1}替换后会类似{zhang}
do
sleep ${2:-30} //这里的意思是如果参数2存在且非null,则返回$2,否则返回30
done
}
相关文章推荐
- Linux登录系统后了解用户、用户组、登录的终端以及root用户强制指定终端用户下线的小结
- 通过组策略指定Win8用户登录错误次数上限和系统锁定时间
- 1.5.2 添加一个用户lidao指定uid为888 禁止用户登录系统 不创建家目录
- jsp学习笔记3——用户登录系统(mv模式)
- Linux系统下如何查看已经登录用户
- 如何截取指定号码的短信,并且不让系统截取到通知用户
- 用VB写的一个组件,实现添加系统用户,并添加到指定组
- 当重装数系统/数据库之后,如何恢复数据库的账号 登录名/用户名 孤立用户 缩小ldf日志文件 修改sqlserver2000端口
- lastlog命令_Linux lastlog 命令用法详解:显示系统中所有用户最近一次登录信息
- ubuntu root用户没有声音(提示”正在等待声音系统响应”)
- 为什么登陆不上WIN 7系统的电脑?提示无权限,登陆失败,未授权用户在计算机上请求登录
- AD域中使特定的用户登录指定的客户端
- 限制在同一台电脑上只允许有一个用户登录系统
- 网站用户单点登录系统解决方案
- 一些获取当前登录Windows系统用户信息的命令
- cmd登录系统用户
- 监视登录系统的用户是否合法
- fedora 系统 能够以 root 用户进行登录
- 指定ssh允许登录的用户
- 实现管理系统中用户登录时,用好的主菜单