可以使用 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/fP48 著作权归作者所有。请勿转载和采集!

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