shell编程使用循环打印四个三角形菜单界面

该文章展示了一个Bash脚本,用于生成一个5x30的坐标网格,并在特定位置打印星号,形成四个三角形的效果。作者通过两个while循环分别处理左上角和右上角,以及左下角和右下角的打印,构建出图形界面的菜单布局。
摘要由CSDN通过智能技术生成

首先我是第一次发布文章,写的不好请见谅

还有我是一个初学者代码不好也麻烦大佬们可以指点一下😄😄

==================未经允许切勿转载!!!!======================

思路:

假设建立一个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

运行结果图:

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值