Test Header HTML Code

等待指定用户登录系统

    今天在一本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

}

posted on 2010-04-14 10:11  宁静的水泡  阅读(261)  评论(0)    收藏  举报

导航

Test Rooter HTML Code