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

//从开头到最长的匹配部分(用)后面的逗号的地方被删除

linux echo多行到指定文本 linux echo换行输出_shell


linux echo多行到指定文本 linux echo换行输出_for循环_02

linux echo多行到指定文本 linux echo换行输出_for循环_03


linux echo多行到指定文本 linux echo换行输出_for循环_04


linux echo多行到指定文本 linux echo换行输出_linux echo多行到指定文本_05

循环语句

for 语句的结构

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

linux echo多行到指定文本 linux echo换行输出_linux_06

while语句的结构

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

linux echo多行到指定文本 linux echo换行输出_linux_07

until语句的结构

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

linux echo多行到指定文本 linux echo换行输出_for循环_08


until条件测试操作,条件不成立执行do命令序列,成立则done结束循环。

双重循环

即循环中嵌套循环

实例:九九乘法表

linux echo多行到指定文本 linux echo换行输出_跳出循环_09


linux echo多行到指定文本 linux echo换行输出_shell_10


双重循环可用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系统中用来管理分隔符的变量,

linux echo多行到指定文本 linux echo换行输出_跳出循环_11


运用在分隔输出上。如遍历文件。

注意IFS分隔符是全局变量,在脚本文件中运行后,对整个shell都会有影响。所以,在需要更改IFS时,不要忘记将其还原设置。

:对于循环来说分为的for与while用于最多,for循环多用于遍历文件,列表。while用来迭代,即为条件满足后变量的迭代,while重点在于变量。for循环重点在于满足条件后执行的命令。对于嵌套循环,要了解内外循环的机制,内循环几次,外循环才循环一次。就如乘法表,外循环执行一次,内循环执行9次,根据条件判断,去掉我们不需要输出的内循环变量大于外循环变量的输出。对于跳出循环命令,在于什么样的需求,for循环注意变量的累加或累减。while也可以设置变量累加,当变量满足设置条件时,执行跳出循环命令。