Shell循环语句与函数

Shell循环语句与函数

一、for语句的结构

读取不同的变量值,用来逐个执行同一个组命令

格式;

for 变量名 in 取值列表

do

命令序列

done

例如:

for i in {1…10}——每次递增1 for i in {1…10…2}——每次递增2

for i in $(seq 1 10) for i in $(seq 1 2 10) #seq指的是连续的

for ((i=1;i<=10;i++)) for ((i=1;i<=10;i+=2))

do

​ echo $i

done

for ((i=1;i<=10;i++));do echo $i;done

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

实例:计算从1到100多有整数和

#!/bin/bash
sum=o
for ((i=1;i<=100;i++))
do
sum= [ [ [sum+ i ] d o n e e c h o " i] done echo " i]doneecho"sum"

二、IFS字段分隔符

默认包含空格,制表符,换行符

set |grep IFS

在这里插入图片描述

建议字段分隔符的环境变量不要改,如果要改的话做下备份

IFS.OLD=$IFS

IFS=$’\n’

IFS=$IFS.OLD

三、while语句的结构

重复测试某个条件,只要条件成立则反复执行

while 条件测试操作

do

​ 命令序列

done

实例:计算从1到100多有整数和

#!/bin/bash
i=0
while [ i − l e 100 ] d o s u m = i -le 100 ] do sum= ile100]dosum=[ s u m + sum+ sum+i]
let i++
done
echo “$sum”

四、until语句结构

重复测试某个条件,只要条件不成立则反复执行

until 条件测试操作

do

​ 命令序列

done

五、echo

echo -n 表示不换行输出

echo -e 输出转义符,将转义后的内容输出到屏幕上

常用的转义字符如下

\b:转义后相当于按退格键(backspace),但前提是\b后面存在字符;\b表示删除前一个字符,\b\b表示删除前两个字符

\b:在这里插入图片描述

\b\b:在这里插入图片描述

\c:不换行输出,在\c后面不存在字符的情况下,作用相当于echo -n;但是当\c后面的字符将不会被输出

\c无字符:在这里插入图片描述

\c有字符:在这里插入图片描述

\n:换行,被输出的字符从\n出开始另起一行

在这里插入图片描述

\f:换行,但是换行后的新行的开头位置连接着上一行的行尾

在这里插入图片描述

\v:与\f相同

在这里插入图片描述

\t:转以后表示插入tab,即横向制表符

在这里插入图片描述

\r:光标移至行首,但不换行,相当于使用\r以后的字符覆盖\r之前同等长度的字符,但是当\r后面不存在任何字符时,\r前面的字符不会被覆盖

在这里插入图片描述

\ \:表示插入\本身

在这里插入图片描述

六、break跳出单个循环

for ((a=1;a<=5;a++))

do

​ ehco “outer loop: $a”

​ for ((b=1;b<=50;b++))

​ do

​ if [ $b -eq 5 ]

​ then

​ break

​ fi

​ echo “inter loop: $b”

​ done

done

七、contiune中止某次循环中的命令,但不会完全中止整个命令

for ((a=1;a<=15;a++))

do

​ if [ $a -gt 5 ] && [ $a -lt 10 ]

​ then

​ continue

​ fi

​ echo “current value:$a”

done

猜你喜欢

转载自blog.csdn.net/weixin_51432789/article/details/111461244