请用BASH编程实现:打印边长为n的由“*”号组成的等边三角形,形如: * * * * * * * * * * * * * * * 其中变量n的值通过命令行参数传入。
时间: 2024-10-30 11:06:03 浏览: 6
c代码-输入1个整数,显示由 * 构成的等腰直角三角形,直角在右上。
在 Bash 中,你可以使用嵌套的循环结构来打印出等边三角形。下面是一个简单的函数,它接受一个名为 `n` 的命令行参数并打印指定大小的等边三角形:
```bash
#!/bin/bash
# 获取命令行参数
n=$1
# 边长小于1的处理
if [ $n -lt 1 ]; then
echo "输入的边长大于等于1"
exit 1
fi
# 打印空格
function print_spaces() {
local spaces=$((n - 1 - $1))
for ((i = 0; i < spaces; i++)); do
echo -n " "
done
}
# 打印星号
function print_stars() {
for ((i = 0; i <= $1; i++)); do
echo -n "*"
done
}
# 主体部分:从顶部开始逐行打印
for ((row = 1; row <= n; row++)); do
print_spaces $((2 * (n - row) - 1))
print_stars $row
echo
done
```
保存此脚本到一个文件,比如 `triangle.sh`,然后在终端中执行如下:
```sh
./triangle.sh 5
```
将 `5` 替换为你想要的任意边长。
阅读全文