目录
一、for循环语句
执行机制:遍历
执行机制:
依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环
结束
如果省略 [in WORDS ... ] ,此时使用位置参数变量 in "$@"
读取不同的变量值,用来逐个执行同一组命令。
语句结构示例图:
示例1
示例2:1-100累计和的脚本
二、while循环语句
while
当命令判断为假时停止
重复测试某个条件,只要条件成立则反复执行
语句结构示例图:
示例1:猜商品价格1-999,看几次能够猜对。
三、until循环语句
until
当命令判断为真时停止
重复测试某个条件,只要条件不成立则反复执行
语句结构示例图:
示例1:计算1~50的和值(通过循环累加的方式)
四、双重循环
break 跳出单个循环后面加数字2则代表跳出两层循环
- 语法 break 将用于以下break语句退出循环。
- break [n] 这里n指定的第n个封闭的循环退出。
continue 终止某次循环中的命令,但是不会完全终止命令
- 语法 continue 和break语句一样,一个整数参数可以给continue命令跳过嵌套循环的命令。
- continue n 这里n指定第n个封闭循环 continue 。
示例:
写个逛宝选购商品脚本,每家商店有五种商品选购(衣服500元,裤子400元,鞋子350元,帽子150元,袜子50元),每次选购完或不买都会提示用户是否继续逛下一家商店(最多100家店),如果不再继续逛的话进行购物车结算总额。
五、echo的选项和用法
格式:
echo -e "adfa\n123"
常见的转义字符
常见的转义字符如下:(得加上-e选项才能生效)
\b:转义后相当于按退格按键,但是前提是"\b"后面存在字符,"\b\b"表示删除前面两个字符。
\c:不换行输出,在"\c"后面不存在字符的情况下。作用相当于echo -n ;但是当"\c"后面任然存在字符时候,"\c"后面的字符将不会被输出。
\n: 换行,被输出的字符从"\n"处开始另起一行(换行带有回车的功能)。
\f: 换行,但是换行后的新行的开头位置连接着。
\v: 换行,与/f相同。
/t: 转义后插入tab,就是横向制表符(解释:水平空出几个格)。
\r:光标移动到行首,但是不换行,相当于使用"\r"的名字以后面的字符覆盖"\r"之前等同长度的字符号。但是当"\r"后面不存在任何字符的时候,"\r"前面那的字符不会被覆盖。
\\:表示插入"\"本身。
示例:
i=`echo "11,22,33,44" `
echo ${i%,*}
11,22,33
//从最后倒数到最短的匹配部分(%)后面的逗号的地方被删除
echo ${i%%,*}
11
//从最后倒数到最长的匹配部分(%%)后面的逗号的地方都删除掉!
echo ${i#*,}
22,33,44
//从开头到最短的匹配部分(#)后面的逗号的地方被删除
echo ${i##*,}
44
//从开头到最后的匹配部分(##)后面的逗号的地方被删除
六、seq的用法
seq的用法
seq 10 #起始默认是1,间隔默认是1,输出的结果(1-10)
seq 2 10 #起始值是2,间隔默认是1,输出的结果(2-10)
seq 1 3 10 #起始值是1,间隔默认是3,输出的结果:1 4 7 10