shell脚本-循环语句

一、echo 命令:

echo -n   表示不换行输出
echo -e   表示输出转义符

1.常用的转义符:

\t 插入Tab键,制表符
\n 输出换行
\c 抑制更多的输出或不换行
\r 抑制更多的输出或不换行
\f 换行,但光标仍停留在原处
\b 表示退格 不显示前一个字符
\ 表示退格 不显示前一个字符
\s 当前shell的名称,如bash

 \t:

\b:

\c:

\n:

\r:

\f

2.标准用法:

显示奇数:

显示偶数:

删除字符:

shell脚本-循环语句_第1张图片

截取字符:

从第二个字符后开始截取

从第二个字符开始截取后四个字符

shell脚本-循环语句_第2张图片

统计变量里的字符个数

追加:

shell脚本-循环语句_第3张图片

eval命令,协助bash做多次运算:

shell脚本-循环语句_第4张图片

二、date命令:

date 查看当前系统时间
 
-d  你描述的日期,显示指定字符串所描述的时间,而非当前时间
 
%F	完整日期格式,等价于 %Y-%m-%d
 
%T  时间(24小时制)(hh:mm:ss)

比今天多一天显示:

比今年多一年显示:

完整日期格式显示:

查看你日历:

shell脚本-循环语句_第5张图片

三、seq :

#从1 开始 步长为2  到10 为止

shell脚本-循环语句_第6张图片

四、for循环:

for循环,又有人称之为条件循环,或者for i in ,其实就是for循环的特性,次数和给与的条件是成正比的。

特点:

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

  • for循环经常使用在已经知道要进行多少次循环的场景

格式:

for  变量名  in  取值列表
do
	命令序列
done

实例:

打印 1-10:

shell脚本-循环语句_第7张图片

shell脚本-循环语句_第8张图片

给文件批量修改后缀:

shell脚本-循环语句_第9张图片

shell脚本-循环语句_第10张图片

求1到100的和:

shell脚本-循环语句_第11张图片

求奇数偶数1-100的和

shell脚本-循环语句_第12张图片

批量添加用户

shell脚本-循环语句_第13张图片

pingIP地址: 

shell脚本-循环语句_第14张图片

打印99乘法表 

shell脚本-循环语句_第15张图片

五、while语句:

  • 用法:

    • 重复测试某个条件,只要条件成立则反复执行
    • 相对于for,需要知道循环次数,我们只知道停止条件,不知道次数,就需要使用到while
    • true(真)和false(假)为特殊条件测试操作,也可以在if语句的条件测试中使用。
      (1):true作为条件时,表示条件永远成立,无限执行,也就是死循环,需要强制终止
      (2):false作为条件时,表示条件不成立,不执行命令序列
  • 格式:
while 条件测试操作
do
	命令序列
done

实例:

累加求和:

shell脚本-循环语句_第16张图片

批量创建用户:

shell脚本-循环语句_第17张图片

shell脚本-循环语句_第18张图片

猜商品价格:

shell脚本-循环语句_第19张图片

shell脚本-循环语句_第20张图片

六、until 循环语句:

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

格式:

until 条件测试操作
do
 命令序列
done

shell脚本-循环语句_第21张图片

发消息给用户:

shell脚本-循环语句_第22张图片

shell脚本-循环语句_第23张图片

 七、结束循环------break和continue:

1.break跳出单个循环 break n 数字数字是几代表跳出n层循环

#!/bin/bash
for ((a=1; a<=5; a++))
do
	echo "outer loop: $a"
	for ((b=1; b<=50; b++))
	do
		if [ $b -eq 5 ]
		then
			break
		fi
		echo "inter loop: $b"
	done
done

2.continue终止某次循环中的命令,但是不会完全终止命令

#!/bin/bash
for ((a=1; a<=15; a++))
do
	if [ $a -gt 5 ] && [ $a -lt 10 ]
	then
		continue
	fi
	echo "current value: $a"
done

3.exit 直接退出脚本

你可能感兴趣的:(linux,运维,服务器)