shell脚本基础知识梳理<七>:流程控制 until
admin
2023-03-12 15:22:15
0

until语法

until 循环执行一系列命令直至条件为 true 时停止。

until 循环与 while 循环在处理方式上刚好相反。

一般 while 循环优于 until 循环,但在某些时候—也只是极少数情况下,until 循环更加有用。

until 语法格式:
until 测试条件
do
指令
done

condition 一般为条件表达式,如果返回值为 false,则继续执行循环体内的语句,否则跳出循环。

实例1:以下实例我们使用 until 命令来输出 0 ~ 9 的数字:

#!/bin/bash

a=0

until [ ! $a -lt 10 ]
do
echo $a
a=expr $a + 1
done

输出结果0 1 2 3 4 5 6 7 8 9

实例 2

#!/bin/bash
#
#判断ip是否能ping通若不通等待60s
read -p "Enter IP Address:" ipadd

until ping -c 1 $ipadd &>/dev/null
do
echo "${ipadd} ping ........"
sleep 60
echo "已等待60s"
done

执行结果

[root@localhost shell]# sh until-1.sh
Enter IP Address:192.168.1.123
192.168.1.123 ping ........
已等待60s
192.168.1.123 ping ........
已等待60s

实例 3

#!/bin/bash
#
#判断用户是否在系统内
username=$1
if [ $# -lt 1 ]
then
echo "Usage:'basename $0' []"
exit 1
fi

if grep "^$username:" /etc/passwd > /dev/null
then
:
else
echo "$username is not a user on this system."
exit 2
fi

until who|grep "$username" > /dev/null
do
echo "$username is not logged on."
sleep 5
done

执行结果

[root@localhost shell]# sh until-2.sh
Usage:'basename until-2.sh' []

[root@localhost shell]# sh until-2.sh ab
ab is not a user on this system.

相关内容

热门资讯

官方回应博主浦东机场打车遭抛客 7月25日,知名博主“花式足球克里斯”世界杯观赛后回国,在浦东机场打车,遭遇出租车司机谎称车辆故障中...
女孩正颌手术被做反,主导医生称... 近日,武汉。24岁女孩小雨仅2毫米轻微地包天,本可正畸改善,却被建议做正颌手术,原定下颌后移2毫米,...
台风“红霞”逼近,揭阳全力筑牢... 7月25日9时,省防汛防旱防风总指挥部将防风Ⅲ级应急响应提升为防风Ⅱ级应急响应。台风“红霞”正以25...
原创 王... 王虹夺得数学界的诺贝尔奖——菲尔兹奖。她的导师、母校、同学等等,都成为了全网讨论的对象。 而她的导师...
电池技术对二手车残值影响大吗? 随着新能源汽车市场的迅猛扩张,潜在购车者在关注新车性能的同时,也越来越重视后续流通环节的价值表现。其...
韩国一监狱百发子弹下落不明,已... 【环球网报道 记者 姜蔼玲】据韩联社援引韩国法律界7月26日消息,针对大田一所监狱100发子弹下落不...
Anthropic发布Opus... Anthropic正式发布Claude Opus 5人工智能模型。官方宣称,该模型在智能水平接近前沿...
从菲尔兹奖看广东的“育才密码” □李妹妍 7月23日,2026年国际数学家大会传来喜讯,中国籍学者邓煜、王虹双双摘得国际数学界最高荣...
神舟二十三号乘组太空之旅满两月... 神二十三号乘组朱杨柱、张志远、黎家盈在轨已满两月,空间站内各项科学实(试)验进展顺利。上周,三名航天...
紧张关系进一步升级,巴西外交部... 【环球网报道】美国《纽约时报》当地时间25日报道称,据美巴两国官员透露,巴西政府阻止了一个美国代表团...