当前位置: 技术问答>linux和unix
菜鸟一段shell命令看不懂 求解
来源: 互联网 发布时间:2017-05-14
本文导语: 1 #! /bin/bash 2 until who | grep "$1" > /dev/bull 3 do 4 sleep 60 5 done 6 #now ring the bell and announce the expected user 7 echo -e 'a' 8 echo " *****$1 has just logged in*****" 9 exit 0 问题 : 第2行 和第7 行代码表示...
1 #! /bin/bash
2 until who | grep "$1" > /dev/bull
3 do
4 sleep 60
5 done
6 #now ring the bell and announce the expected user
7 echo -e 'a'
8 echo " *****$1 has just logged in*****"
9 exit 0
问题 : 第2行 和第7 行代码表示什么意思?
2 until who | grep "$1" > /dev/bull
3 do
4 sleep 60
5 done
6 #now ring the bell and announce the expected user
7 echo -e 'a'
8 echo " *****$1 has just logged in*****"
9 exit 0
问题 : 第2行 和第7 行代码表示什么意思?
|
第二行是:直到"$1"($1是你紧跟着脚本的第一个参数,)成功登录前,就一直循环。
第七行是:响一声,"a"代表"滴"声
第七行是:响一声,"a"代表"滴"声
|
我就紧跟着二楼的说,这循环语句是有问题的
1、如果找到该$1用户直接输出 *****$1 has just logged in*****";
2、如果找不到$1用户这个循环语句就一直循环一直等待,直到找到为止;
until循环语句的意思就是当{who | grep "$1"}成立则立即停止该循环,不会执行do语句,否则一直循环do语句
从以上语句看出用户$1已经登陆是没问题的,否则一直等待!
1、如果找到该$1用户直接输出 *****$1 has just logged in*****";
2、如果找不到$1用户这个循环语句就一直循环一直等待,直到找到为止;
until循环语句的意思就是当{who | grep "$1"}成立则立即停止该循环,不会执行do语句,否则一直循环do语句
从以上语句看出用户$1已经登陆是没问题的,否则一直等待!