菜鸟一段shell命令看不懂 求解
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"($1是你紧跟着脚本的第一个参数,)成功登录前,就一直循环。
第七行是:响一声,"\a"代表"滴"声
------解决方案--------------------我就紧跟着二楼的说,这循环语句是有问题的
1、如果找到该$1用户直接输出 *****$1 has just logged in*****";
2、如果找不到$1用户这个循环语句就一直循环一直等待,直到找到为止;
until循环语句的意思就是当{who
------解决方案-------------------- grep "$1"}成立则立即停止该循环,不会执行do语句,否则一直循环do语句
从以上语句看出用户$1已经登陆是没问题的,否则一直等待!