shell——双重循环

转义字符的含义

echo -n:不换行输出
-e:支持反斜线控制的字符转换
转义:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符
例子

打印图形
[root@server1 ~]# vim tuxing.sh
#!/bin/bash
#打印图形
for ((i=1;i<=6;i++))
do
        for((j=1;j<=5;j++))
                do
                        echo -en "*\t"
                done
        echo
done
[root@server1 ~]# ./tuxing.sh 
*	*	*	*	*	
*	*	*	*	*	
*	*	*	*	*	
*	*	*	*	*	
*	*	*	*	*	
*	*	*	*	*

双重循环


打印正方形
[root@server1 ~]# vim zhengfangxing.sh
#!/bin/bash
#打印正方形
for ((i=1;i<=6;i++))
        do
                for ((j=1;j<=6;j++))
                        do
                                echo -n "* "
                        done
                echo
        done
[root@server1 ~]# ./zhengfangxing.sh 
* * * * * * 
* * * * * * 
* * * * * * 
* * * * * * 
* * * * * * 
* * * * * * 

打印直角三角形
方法一:
[root@server1 ~]# vim zhijiaosanjiaoxing.sh
#!/bin/bash
#打印直角三角形
for ((i=1;i<=9;i++))
do
        for ((j=1;j<=i;j++))
                do
                        echo -n "* "
                done
        echo
done

[root@server1 ~]# ./zhijiaosanjiaoxing.sh 
* 
* * 
* * * 
* * * * 
* * * * * 
* * * * * * 
* * * * * * * 
* * * * * * * * 
* * * * * * * * * 
[root@server1 ~]# 

方法二:
#!/bin/bash
#打印直角三角形2
i=1
while [ $i -lt 10 ]
do
        j=1
        while [ $j -le $i ]
        do
                echo -n x
                j=$(($j+1))
        done
        echo 
        i=$(($i+1))
done
[root@server1 ~]# ./zhijiao2.sh 
x
xx
xxx
xxxx
xxxxx
xxxxxx
xxxxxxx
xxxxxxxx
xxxxxxxxx

打印反直角三角形
[root@server1 ~]# vim fanzhijiao.sh
#!/bin/bash
#打印反直角三角形
for ((i=1;i<=9;i++))
do
        for ((j=10-$i;j>0;j--))
        do
                echo -n "*"
        done
        echo
done
[root@server1 ~]# chmod +x fanzhijiao.sh 
[root@server1 ~]# ./fanzhijiao.sh 
*********
********
*******
******
*****
****
***
**
*
打印反直角三角形1
[root@server1 ~]# vim fanzhijiao1.sh
#!/bin/bash
#打印反直角三角形1
for ((i=1;i<=9;i++))
do
        for ((j=1;j<$i;j++))
        do
                echo -n " "
        done
        for ((k=10-$j;k>0;k--))
        do
                echo -n "*"
        done
echo
done
[root@server1 ~]# chmod +x fanzhijiao1.sh
[root@server1 ~]# ./fanzhijiao1.sh 
*********
 ********
  *******
   ******
    *****
     ****
      ***
       **
        *

打印反直角2
[root@server1 ~]# vim fanzhijiao2.sh
#!/bin/bash
#打印反直角三角形2
for ((i=1;i<=9;i++))
do
        for ((j=9-i;j>=0;j--))
                do
                        echo -n " "
                done
        for ((k=1;k<=$i;k++))
                do
                        echo -n "*"
                done
echo
done
[root@server1 ~]# chmod +x fanzhijiao2.sh
[root@server1 ~]# ./fanzhijiao2.sh 
         *
        **
       ***
      ****
     *****
    ******
   *******
  ********
 *********
打印等腰三角形
[root@server1 ~]# vim dengyaosanjiaoxing.sh
#!/bin/bash
#打印直角三角形
for ((i=1;i<=9;i++))
do
        for ((j=1;j<$i;j++))
        do
                echo -n " "
        done
        for ((k=10-$j;k>0;k--))
        do
                echo -n "* "
        done
        echo
done
[root@server1 ~]# chmod +x dengyaosanjiaoxing.sh
[root@server1 ~]# ./dengyaosanjiaoxing.sh 
* * * * * * * * * 
 * * * * * * * * 
  * * * * * * * 
   * * * * * * 
    * * * * * 
     * * * * 
      * * * 
       * * 
        * 

打印等腰三角形1
[root@server1 ~]# vim dengyaosanjiaoxing1.sh
#!/bin/bash
#打印等腰三角形1
for ((i=1;i<=9;i++))
do
        for ((j=8;j>=i;j--))
                do
                        echo -n " "
                done
        for ((k=1;k<=i;k++))
                do
                        echo -n "* "
                done
echo
done
[root@server1 ~]# chmod +x dengyaosanjiaoxing1.s
[root@server1 ~]# ./dengyaosanjiaoxing1.sh 
        * 
       * * 
      * * * 
     * * * * 
    * * * * * 
   * * * * * * 
  * * * * * * * 
 * * * * * * * * 
* * * * * * * * * 




打印菱形
[root@server1 ~]# vim lingxing.sh
[root@server1 ~]# chmod +x lingxing.sh
[root@server1 ~]# ./lingxing.sh 
请输入菱形长度:9
        * 
       * * 
      * * * 
     * * * * 
    * * * * * 
   * * * * * * 
  * * * * * * * 
 * * * * * * * * 
* * * * * * * * * 
 * * * * * * * * 
  * * * * * * * 
   * * * * * * 
    * * * * * 
     * * * * 
      * * * 
       * * 
        * 



9*9乘法表
[root@server1 ~]# vim 9*9.sh
#!/bin/bash
#打印9*9乘法表
for ((i=1;i<=9;i++))
do
        for ((j=1;j<=i;j++))
        do
                echo -ne "$i*$j=$((i*j)) \t"
        done
echo
done
[root@server1 ~]# chmod +x 9\*9.sh
[root@server1 ~]# ./9\*9.sh 
1*1=1 	
2*1=2 	2*2=4 	
3*1=3 	3*2=6 	3*3=9 	
4*1=4 	4*2=8 	4*3=12 	4*4=16 	
5*1=5 	5*2=10 	5*3=15 	5*4=20 	5*5=25 	
6*1=6 	6*2=12 	6*3=18 	6*4=24 	6*5=30 	6*6=36 	
7*1=7 	7*2=14 	7*3=21 	7*4=28 	7*5=35 	7*6=42 	7*7=49 	
8*1=8 	8*2=16 	8*3=24 	8*4=32 	8*5=40 	8*6=48 	8*7=56 	8*8=64 	
9*1=9 	9*2=18 	9*3=27 	9*4=36 	9*5=45 	9*6=54 	9*7=63 	9*8=72 	9*9=81 	

9*9乘法表1
[root@server1 ~]# vim 9*91.sh
#!/bin/bash
#打印9*9乘法表1
for ((i=1;i<=9;i++))
do
        for ((j=1;j<=9;j++))
                do
                        echo -ne "$i*$j=$(($i*$j)) \t"
                done
echo
done
[root@server1 ~]# chmod +x 9\*91.sh 
[root@server1 ~]# ./9\*91.sh 
1*1=1 	1*2=2 	1*3=3 	1*4=4 	1*5=5 	1*6=6 	1*7=7 	1*8=8 	1*9=9 	
2*1=2 	2*2=4 	2*3=6 	2*4=8 	2*5=10 	2*6=12 	2*7=14 	2*8=16 	2*9=18 	
3*1=3 	3*2=6 	3*3=9 	3*4=12 	3*5=15 	3*6=18 	3*7=21 	3*8=24 	3*9=27 	
4*1=4 	4*2=8 	4*3=12 	4*4=16 	4*5=20 	4*6=24 	4*7=28 	4*8=32 	4*9=36 	
5*1=5 	5*2=10 	5*3=15 	5*4=20 	5*5=25 	5*6=30 	5*7=35 	5*8=40 	5*9=45 	
6*1=6 	6*2=12 	6*3=18 	6*4=24 	6*5=30 	6*6=36 	6*7=42 	6*8=48 	6*9=54 	
7*1=7 	7*2=14 	7*3=21 	7*4=28 	7*5=35 	7*6=42 	7*7=49 	7*8=56 	7*9=63 	
8*1=8 	8*2=16 	8*3=24 	8*4=32 	8*5=40 	8*6=48 	8*7=56 	8*8=64 	8*9=72 	
9*1=9 	9*2=18 	9*3=27 	9*4=36 	9*5=45 	9*6=54 	9*7=63 	9*8=72 	9*9=81 	
[root@server1 ~]# 

seq的用法

seq 1000 #起始默认是1,间隔也是1
seq 2 1000 #从2开始,间隔默认是1
seq 1 3 10 #起始是1,间隔是3,结果是1、4、7、10
seq 1 10 #从1开始,到10结束,间隔为1,结果是1、2、。。。、10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值