一. 转义符
echo -n 表示不换行输出
echo -e 输出转义字符,将转义后的内容输出到屏幕上
常用的转义字符如下:
\b 转义后相当于按退格键(backspace),但前提是"\b"后面存在字符;"\b"表示删除前一个字符,"\b\b"表示删除前两个字符。
\c 不换行输出,在"\c"后面不存在字符的情况下,作用相当于 echo -n; 但是当"\c"后面仍然存在字符时,"\c"后面的字符将不会被输出。
\n 换行,被输出的字符从"\n"处开始另起一行。
\f 换行,但是换行后的新行的开头位置连接着上一行的行尾;
\v 与\f相同;
\t 转以后表示插入tab,即横向制表符;
\r 光标移至行首,但不换行,相当于使用"\r"以后的字符覆盖"\r"之前同等长度的字符;但是当"\r"后面不存在任何字符时,"\r"前面的字符不会被覆盖
\\ 表示插入"\"本身;
二. for循环语句
在实际工作中,经常会遇到某项任务需要多次执行的情况,而每次执行时仅仅是处理的 对象不一样,其他命令相同。例如,根据通讯录中的姓名列表创建系统账号,根据服务器清 单检查各主机的存活状态
当面对各种列表重复任务时,使用简单的 if 语句已经难以满足要求,而顺序编写全部代 码更是显得异常烦琐、困难重重
(1)列表循环
(2)不带列表循环
(3)类C风格的for循环
(1)列表循环:
for 变量 in 取值列表
do
命令
done
(2)不带列表循环:不带列表循环执行时由用户指定参数和参数的个数决定的
for 变量名
do
command
done
(3)类C风格的for循环
for ((expr1;expr2;expr3))
do
command
done
expr1:定义变量并赋初值
expr2:决定是否循环
expr3:决定循环变量如何改变,决定循环什么时候退出
示例:用for过滤1到100所有整数的偶数
seq
seq(squeue) 是一个序列的缩写,主要用来输出序列化的东西
用法: seq[选项]... 尾数
seq[选项]... 首数 尾数
seq[选项]... 首数 增量 尾数
以指定增量从首数开始打印数字到尾数
示例:用for随机抽取数字
c风格的for循环
类C风格运算符用法
++ 自身变量+1
-- 自身变量-1
+=5 自身变量+5
-=5 自身变量-5
*=5 自身变量*5
/=5 自身变量/5
%=5 自身变量%5
示例:计算1-100的奇数和
三. while循坏语句
while循环
1、语法结构
2、死循环
(1)语法结构(3种)
while循环一般用于有条件判断的循环,若判断条件为真,则进入循环,当条件为假就跳出循环
while 表达式
do
command
done
示例
示例 2 监控某服务(httpd)运行状态
while 死循环
写一个永远为真的表达式,1等于1这个条件永远为真,所以这个脚本会一直循环下去
示例 猜数字,猜不对就一直猜
四.until循环
跟while相反,条件为假进入循环,条件为真退出循环
语法结构
until 表达式
do
command
done
猜不对就一直猜
[外链图片转存中…(img-QfvDfREG-1657606410855)]
[外链图片转存中…(img-IMlB4QZi-1657606410855)]
四.until循环
跟while相反,条件为假进入循环,条件为真退出循环
语法结构
until 表达式
do
command
done