可以使用while循环和if语句来实现打印图形。

#!/bin/bash

# 打印上半部分
line=1
while [ $line -le 3 ]; do
    # 打印空格
    space=$((3 - line))
    while [ $space -gt 0 ]; do
        echo -n " "
        space=$((space - 1))
    done

    # 打印星号
    star=$((2 * line - 1))
    while [ $star -gt 0 ]; do
        echo -n "*"
        star=$((star - 1))
    done

    echo ""
    line=$((line + 1))
done

# 打印下半部分
line=2
while [ $line -ge 1 ]; do
    # 打印空格
    space=$((3 - line))
    while [ $space -gt 0 ]; do
        echo -n " "
        space=$((space - 1))
    done

    # 打印星号
    star=$((2 * line - 1))
    while [ $star -gt 0 ]; do
        echo -n "*"
        star=$((star - 1))
    done

    echo ""
    line=$((line - 1))
done

运行上述脚本会打印出如下图形:

  *
 ***
*****
 ***
  *
在shell脚本中利用while实现如下图形的打印

原文地址: https://www.cveoy.top/t/topic/jdwn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录