linux的shell的until循环举例说明
执行脚本: sh login.sh user,其中user为第一个参数
如下所示,如果用户‘user’登录,'who | grep "$1"'为true,until循环结束,程序继续执行,输出 “***** user has just logged in *****”信息。
如果用户‘user’没有登录,屏幕每隔60秒打印一次“ok”。
$1表示程序的第一个参数
# login.sh
1 #!/bin/bash 2 3 until who | grep "$1" > /dev/null 4 do 5 sleep 60
echo 'ok'
6 done 7 8 # Now ring the bell and announce the unexpected user. 9 10 echo -e '\a' 11 echo "***** $1 has just logged in *****" 12 13 exit 0