首先我是第一次发布文章,写的不好请见谅
还有我是一个初学者代码不好也麻烦大佬们可以指点一下😄😄
==================未经允许切勿转载!!!!======================
思路:
假设建立一个5*30的坐标网格
然后按需要,在特定位置打印需要的符号,例如:*和空格
我下面是将四个三角形分为两半来打印出来,即左上角和右上角为一半,左下角和右下角为一半,分别使用两个while循环实现打印。
代码如下:
1.打印左上角和右上角
#!/bin/bash
#打印菜单界面
#建立一个5*30的坐标网格,按坐标位置打印*
#j为列数,i为行数
#======================
#打印左上角和右上角
i=0
line1=5
line2=24
while ((i<5))
do
j=0
while ((j<30))
do
if [[ $j -lt $line1 || $j -gt $line2 ]]
then
echo -n "*"
else
echo -n " "
fi
let j++
done
let line1--
let line2++
let i++
echo
done
2.打印左下角和右下角
#打印左下角和右下角
line3=1
line4=28
while ((i<10))
do
j=0;
while ((j<30))
do
if [[ $j -lt $line3 || $j -gt $line4 ]]
then
echo -n "*"
else
echo -n " "
fi
let j++
done
echo
let line3++
let line4--
let i++
done
完整代码:
#!/bin/bash
#打印菜单界面
#建立一个5*30的坐标网格,按坐标位置打印*
#j为列数,i为行数
#======================
#打印左上角和右上角
i=0
line1=5
line2=24
while ((i<5))
do
j=0
while ((j<30))
do
if [[ $j -lt $line1 || $j -gt $line2 ]]
then
echo -n "*"
else
echo -n " "
fi
let j++
done
let line1--
let line2++
let i++
echo
done
#=======================
#菜单内容
echo
echo " welcome! "
echo
#=======================
#打印左下角和右下角
line3=1
line4=28
while ((i<10))
do
j=0;
while ((j<30))
do
if [[ $j -lt $line3 || $j -gt $line4 ]]
then
echo -n "*"
else
echo -n " "
fi
let j++
done
echo
let line3++
let line4--
let i++
done
运行结果图: