一、echo的用法

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

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

常见的转义字符有:

2.1 \b 相当于退格键

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

shell脚本echo对齐输出 shell中echo输出换行的方法_转义

2.2 \c 不换行输出

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

shell脚本echo对齐输出 shell中echo输出换行的方法_转义_02

2.3 \n 换行输出

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

shell脚本echo对齐输出 shell中echo输出换行的方法_shell脚本echo对齐输出_03

2.4 \f 、\v 换行输出

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

shell脚本echo对齐输出 shell中echo输出换行的方法_while循环_04

2.5 \t 制表符显示

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

shell脚本echo对齐输出 shell中echo输出换行的方法_转义_05

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

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

shell脚本echo对齐输出 shell中echo输出换行的方法_shell脚本echo对齐输出_06

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、操作

2.1取值列表的多种表示方法

shell脚本echo对齐输出 shell中echo输出换行的方法_shell脚本echo对齐输出_07

2.2for循环可在同一行表示




shell脚本echo对齐输出 shell中echo输出换行的方法_转义_08



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




shell脚本echo对齐输出 shell中echo输出换行的方法_for循环_09


2.4输出九九乘法表


for j in {1..9}
do
  for i in `seq $j`
  do
  echo -e "${i}*${j}=$[i*j] \t\c"
  done
  echo
done


shell脚本echo对齐输出 shell中echo输出换行的方法_while循环_10


三、while循环(迭代)

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

1.格式:

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


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


shell脚本echo对齐输出 shell中echo输出换行的方法_shell脚本echo对齐输出_11

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


shell脚本echo对齐输出 shell中echo输出换行的方法_while循环_12

shell脚本echo对齐输出 shell中echo输出换行的方法_转义_13

四、until循环

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

1、格式


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


shell脚本echo对齐输出 shell中echo输出换行的方法_for循环_14