shell脚本until循环
时间: 2023-07-19 11:40:41 浏览: 138
shell脚本中的`until`循环是一种与`while`循环类似的循环结构,只不过它的循环条件是条件表达式为假时执行循环体。`until`循环的语法格式如下:
```
until [ condition ]
do
command1
command2
...
commandN
done
```
其中,`condition`是一个条件表达式,如果它的值为假,则执行循环体中的命令,否则跳过循环体,继续执行程序后面的语句。
`until`循环的执行过程和`while`循环正好相反,即当循环条件为假时执行循环体,否则循环结束。这种循环结构通常用于需要等待某个条件成立的情况,比如等待某个进程结束或者等待某个文件出现等。
相关问题
1. 编写一个Shell脚本,使用until循环打印从10倒数到1的数字。 2. 编写一个Shell脚本,使用until循环读取一个文件的内容,并输出每一行的内容。 3. 编写一个Shell脚本,使用until循环实现一个简单的倒计时器,每秒递减并输出当前倒计时。 4. 编写一个Shell脚本,使用until循环输出1000以内所有的水仙花数。 5. 编写一个Shell脚本,使用until循环读取用户输入的字符串,直到用户输入"exit"为止,并输出所有输入的字符串
1. 打印从10倒数到1的数字:
```bash
#!/bin/bash
num=10
until [ $num -lt 1 ]
do
echo $num
num=$[$num-1]
done
```
2. 读取一个文件的内容,并输出每一行的内容:
```bash
#!/bin/bash
until [ -z "$1" ]
do
while read line
do
echo $line
done < $1
shift
done
```
3. 实现一个简单的倒计时器,每秒递减并输出当前倒计时:
```bash
#!/bin/bash
seconds=10
until [ $seconds -lt 1 ]
do
echo $seconds
sleep 1
seconds=$[$seconds-1]
done
echo "倒计时结束!"
```
4. 输出1000以内所有的水仙花数:
```bash
#!/bin/bash
n=1
until [ $n -gt 1000 ]
do
sum=0
temp=$n
while [ $temp -gt 0 ]
do
r=$[$temp%10]
sum=$[$sum+$r*$r*$r]
temp=$[$temp/10]
done
if [ $sum -eq $n ]; then
echo $n
fi
n=$[$n+1]
done
```
5. 读取用户输入的字符串,直到用户输入"exit"为止,并输出所有输入的字符串:
```bash
#!/bin/bash
input=""
until [ "$input" = "exit" ]
do
read -p "请输入字符串(输入exit退出):" input
if [ "$input" != "exit" ]; then
echo $input
fi
done
```
shell脚本用until循环求1~100的偶数之和的代码
可以使用如下的 Shell 脚本代码来求 1~100 的偶数之和:
```
#!/bin/bash
sum=0
i=1
until [ $i -gt 100 ]
do
if [ $((i%2)) -eq 0 ]
then
sum=$((sum+i))
fi
i=$((i+1))
done
echo "1~100 的偶数之和为:$sum"
```
这个脚本中,我们使用了 until 循环来遍历 1 到 100 的所有数字,如果当前数字是偶数,则将其加入到 sum 变量中。最后输出 sum 变量的值即可。
阅读全文