shell脚本的循环语句

13 篇文章 0 订阅

一、echo的用法

1、echo -n 表示不换行输出

2、echo -e 输出转义字符,将转义后的内容输出到屏幕上

常见的转义字符有:

2.1 \b 相当于退格键

转义后相当于退格键(backspace),但是前提是“\b”存在字符。“\b”表示删除前一个字符,“\b\b”表示删除前面两个字符

2.2 \c 不换行输出

不换行输出,在“\c”后面不存在字符的情况下,作用相当于echo -n,但是当“\b”后面仍然存在字符时,“\c”后面的字符将不会被输出

2.3 \n 换行输出

换行输出,被输出的字符从"\n"出开始另起一行

2.4 \f 、\v 换行输出

换行输出,但是换行后新行的开头位置连接着上一行的行尾

2.5 \t 制表符显示

转义后表示插入横向制表符,即tab

2.6 \r 光标移至行首不换行

光标移至行首,但是不换行,相当于使用“\r”之后的字符覆盖“\r”之前同等长度的字符,但是当“\r”后面不存在任何字符时,“\r”前面的字符不会被覆盖;当“\r”后面存在的字符大于前面时,“\r”前面的字符全部会被后面替代

2.7 \\ 表示符号本身

在转义符前面加入转义符,代表将后面的转义符转义为符号本身,也就是 \

二、for循环(遍历)

1、 格式

for  变量名  in  取值列表
do
    命令序列
done
for i in {1..10}         {1..10..2}
 
for i in $(seq 1 10)     $(seq 1 2 10)
 
for ( (i=1; i<=10; i++) )  ( (i=1; i<=10; i+=2) )
do
   echo  $i
done
 
for ( (i=1; i<=10; i++)) ;do echo $i ;done   

2、 实例操作一

取值列表的多种表示方法


  
for循环可在同一行表示

for循环中,do done的相同作用的表示方法

三、while循环(迭代)

while循环可以不断的执行某个程序,直到用户设置的条件完成为止,所以重点是条件,这种不定循环最常见的就是下面这两种格式了。

1.格式:

while循环:while的中文是【当…时】,所以这种方式说的是,当判断式/命令序列的条件成立时,就进行循环,直到命令序列/程序段落的条件不成立才停止。

while  [ 条件测试操作 ]
do                      #do代表循环的开始
    判断式/命令序列
done                    #done代表循环的结束


  

2、实例操作:猜价格游戏,要求在0-999数字范围内猜价格,并有提示信息,统计最终猜测的次数

#!/bin/bash
a=0
b=1
price=$[RANDOM%1000]
while [ $a -eq 0 ]
do
read -p "请输入:" c
if [ $c -eq $price ];then
  echo "答对了,共答了 $b 次"
  a=2
elif [ $c -lt $price ];then
  echo "猜低了"
  let b++
elif [ $c -gt $price ];then
  echo "猜高了"
  let b++
fi
done

  

三、until循环

这种方式恰恰和while循环相反,它指的是当判断式/命令序列的条件成立时,就终止循环,否则就会持续循环程序段落。

1、格式

until  [ 条件测试操作 ]
do
    判断式/命令序列
done

2、实例操作一:计算1-50的和

#!/bin/bash
 
a=1
b=0
until [ $a -gt 50 ]
do
   b=$(($b+$a))
 
   let a++
done
   echo "得出的和为:$b"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值