一、for循环语句
for语句需要定义一个变量和取值列表,根据不同的取值执行相同的命令,知道变量值用完。 取值列表里包含多个属性相同的对象,例如:IP地址,通信录等。
#for语句结构
for 变量名 in 取值列表
do
命令序列
done
二、while循环语句
根据特定条件反复执行一个命令序列,直到不满足条件为止。 编写时可能会出现死循环,要避免这种情况发生 true(真)和false(假)为特殊条件测试操作,也可以在if语句的条件测试中使用。 true作为条件时,表示条件永远成立,无限执行,也就是死循环,需要强制终止 false作为条件时,表示条件不成立,不执行命令序列
#while语句结构
while 条件测试操作
do
命令序列
done
三、until循环语句
与while相反,重复测试某个条件,只要条件不成立则反复执行。 一般熟练运用while即可,这个很少用。
四、结束循环----break和continue
break跳出单个循环 continue中止某次循环中的命令,但不会完全中止整个命令
五、IFS字段分隔符
默认包含 空格,制表符,换行符
查看命令:set | grep IFS
IFS = $ ' \t\n'
修改成只换行
IFS = $ '\n'
IFS = :
IFS = ','
IFS . OLD = $IFS
IFS = $ '\n'
. . .
IFS = $IFS . OLD
输出环境变量PATH所包含的所有目录以及其中的所有可执行文件
六、转义字符
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" 前面的字符不会被覆盖
\ \ 表示插入 " \ " 本身;