echo -n :表示不换行输出
echo -e :输出转义字符,将转义后的内容输出到屏幕上
\b:转义后相当于按退格键,但前提是"\b"后面存在字符,\b表示删除前一个字符,\b\b表示删除前两个字符。
\c :不换行输出,在"\c"后面不存在字符的情况下,作用相当于echo -n;
但是当"\c"后面仍然存在字符时,"\c"后面的字符将不会被输出。
\n :换行,被输出的字符从"\n"处开始另起一行。
\f :换行,但是换行后的新行的开头位置连接着上一行的行尾;lv与\f相同;
\t :转以后表示插入tab,即横向制表符;
lr:光标移至行首,但不换行,相当于使用"\r"以后的字符覆盖")r"之前同等长度的字符;但是当"\r"后面不存在任何字符时,"\r"前面的字符不会被覆盖
\\
:表示插入""本身;
i=echo "11,22,33,44"
echo ${i8,*}
11,22,33
//从最后倒数到最短的匹配部分(用%)后面的逗号的地方被删除
echo $ {i*%,*}
11
//从最后倒数到最长的匹配部分(用8%)后面的逗号的地方都被删除
echo ${i#*,}
22,33,44
//从开头到最短的匹配部分(用#)后面的逗号的地方被删除
echo ${i##*,}
44
//从开头到最长的匹配部分(用)后面的逗号的地方被删除
循环语句
for 语句的结构
读取不同的值,用来逐个执行同一组命令
while语句的结构
重复测试某个条件,只要条件成立则反复执行
until语句的结构
重复测试某个条件,只要条件不成立则反复执行
until条件测试操作,条件不成立执行do命令序列,成立则done结束循环。
双重循环
即循环中嵌套循环
实例:九九乘法表
双重循环可用while,也可用for
跳出循环,break continue,exit
break:跳出单个循环。
break 2 :代表跳出2层循环。
continue:中止某次循环中的命令,但不会完全中止整个命令。
exit:直接退出脚本。
运用循环来遍历文件
文件:
while read line #linr代表变量名
do
…
done <file #便利的文件名
也可以
cat ~/file | while read line
do
…
done #用cat打开文件交给while来遍历
IFS
Linux系统中用来管理分隔符的变量,
运用在分隔输出上。如遍历文件。
注意IFS分隔符是全局变量,在脚本文件中运行后,对整个shell都会有影响。所以,在需要更改IFS时,不要忘记将其还原设置。
注:对于循环来说分为的for与while用于最多,for循环多用于遍历文件,列表。while用来迭代,即为条件满足后变量的迭代,while重点在于变量。for循环重点在于满足条件后执行的命令。对于嵌套循环,要了解内外循环的机制,内循环几次,外循环才循环一次。就如乘法表,外循环执行一次,内循环执行9次,根据条件判断,去掉我们不需要输出的内循环变量大于外循环变量的输出。对于跳出循环命令,在于什么样的需求,for循环注意变量的累加或累减。while也可以设置变量累加,当变量满足设置条件时,执行跳出循环命令。