用shell画图形
常用的命令
echo -n :不换行输出
echo -e:支持反斜杠控制的字符转换
转义:
\a:发出警告声
\b:删除前一个字符
\c:最后不加上换行符号
\f:换行但光标仍旧停留在原来的位置
\n:换行且光标移至行首
\r:光标移至行首,但不换行
\t:插入tab
\v:与\f相同
\:插入\字符
\nnn:掺入nnn(八进制)所代表的ASCII字符
seq的用法
seq 10 #起始默认是1,间隔默认是1,输出的结果(1-10)
seq 2 10 #起始值是2,间隔默认是1,输出的结果(2-10)
seq 1 3 10 #起始值是1,间隔默认是3,输出的结果:1 4 7 10
正方形图形
[root@server6 ~]# vim zf.sh
#!/bin/bash
# 正方形图形
for (( j=1;j<=5;j++ ))
do
for (( i=1;i<=5;i++ ))
do
echo -n "* "
done
echo
done
[root@server6 ~]#chmod +x zf.sh
[root@server6 ~]# ./zf.sh
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
长方形图形
[root@server6 ~]#vim zf.sh
#!/bin/bash
# 正方形图形
for (( j=1;j<=7;j++ ))
do
for (( i=1;i<=5;i++ ))
do
echo -n "* "
done
echo
done
[root@server6 ~]#chmod +x zf.sh
[root@server6 ~]#./zf.sh
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
三角形
直角三角形(第一种)
#!/bin/bash
# 三角形图形
for ((j=1;j<=7;j++))
do
for ((i=1;i<=$j;i++))
do
echo -n "*"
done
echo
done
[root@server6 ~]#chmod +x zf.sh
[root@server6 ~]#./zf.sh
*
**
***
****
*****
******
直角三角形(第二种)
[root@server6 ~]#vim zj.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@server6 ~]#chmod +x zj.sh
[root@server6 ~]#./zj.sh
*********
********
*******
******
*****
****
***
**
*
等腰三角形
[root@server6 ~]#vim dysj.sh
#!/bin/bash
# 等腰三角形
for ((i=1;i<10;i++))
do
for ((j=10;j>=i;j--))
do
echo -n " "
done
for ((k=1;k<=i;k++))
do
echo -n "* "
done
echo
done
[root@server6 ~]#chmod +x dysj.sh
[root@server6 ~]#./dysj.sh
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
菱形
[root@server6 ~]#vim lx.sh
#!/bin/bash
# 菱形
read -p "输入菱形长度:" len
for i in `seq 1 $len`
do
for ((j=$len-1;j>=$i;j--))
do
echo -n " "
done
for ((m=1;m<=$i;m++))
do
echo -n "* "
done
echo
done
for i in `seq 1 $len`
do
for ((j=1;j<=$i;j++))
do
echo -n " "
done
for ((n=$len-1;n>=$i;n--))
do
echo -n "* "
done
echo
done
[root@server6 ~]#chmod +x lx.sh
[root@server6 ~]#./lx.sh
输入菱形长度:5
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*
9*9乘法口诀表
第一种乘法口诀表
[root@server6 ~]#vim xfkj.sh
#!/bin/bash
# 乘法口诀表
for ((i=1;i<=9;i++))
do
for ((j=1;j<=i;j++))
do
echo -ne "$i*$i=$((i*i)) \t"
done
echo
done
[root@server6 ~]#chmod +x xfkj.sh
[root@server6 ~]#./xfkj.sh
1*1=1
2*2=4 2*2=4
3*3=9 3*3=9 3*3=9
4*4=16 4*4=16 4*4=16 4*4=16
5*5=25 5*5=25 5*5=25 5*5=25 5*5=25
6*6=36 6*6=36 6*6=36 6*6=36 6*6=36 6*6=36
7*7=49 7*7=49 7*7=49 7*7=49 7*7=49 7*7=49 7*7=49
8*8=64 8*8=64 8*8=64 8*8=64 8*8=64 8*8=64 8*8=64 8*8=64
9*9=81 9*9=81 9*9=81 9*9=81 9*9=81 9*9=81 9*9=81 9*9=81 9*9=8
乘法口诀表(第二种)
[root@server6 ~]#vim xfkj.sh
#!/bin/bash
# 乘法口诀表
for ((i=1;i<=9;i++))
do
for ((j=1;j<=9;j++))
do
echo -ne "$i*$i=$((i*i)) \t"
done
echo
done
[root@server6 ~]#chmod +x xfkj.sh
[root@server6 ~]#./xfkj.sh
1*1=1 1*1=1 1*1=1 1*1=1 1*1=1 1*1=1 1*1=1 1*1=1 1*1=1
2*2=4 2*2=4 2*2=4 2*2=4 2*2=4 2*2=4 2*2=4 2*2=4 2*2=4
3*3=9 3*3=9 3*3=9 3*3=9 3*3=9 3*3=9 3*3=9 3*3=9 3*3=9
4*4=16 4*4=16 4*4=16 4*4=16 4*4=16 4*4=16 4*4=16 4*4=16 4*4=16
5*5=25 5*5=25 5*5=25 5*5=25 5*5=25 5*5=25 5*5=25 5*5=25 5*5=25
6*6=36 6*6=36 6*6=36 6*6=36 6*6=36 6*6=36 6*6=36 6*6=36 6*6=36
7*7=49 7*7=49 7*7=49 7*7=49 7*7=49 7*7=49 7*7=49 7*7=49 7*7=49
8*8=64 8*8=64 8*8=64 8*8=64 8*8=64 8*8=64 8*8=64 8*8=64 8*8=64
9*9=81 9*9=81 9*9=81 9*9=81 9*9=81 9*9=81 9*9=81 9*9=81 9*9=81