【shell一天一练】打印一个正方形,双层for循环

106 阅读1分钟

今日小练题目📢

写一个交互脚本,根据提示,需要用户输入一个数字作为参数,最终打印出一个正方形。

优秀作业🤌🏻

#!/bin/bash
#author:xYLiuuuuuu
#date:2025-1-2

read -p "Please input a number:" count

a=`echo $count |sed 's/[0-9]//g'`
if [ -n "$a" ]
then
        echo "请输入一个纯数字。"
        exit 1
fi


for n in `seq $count`
do
        for m in `seq $count`
        do
                if [ $m -lt $count ]
                then
                        echo -n "■ "
                else
                        echo "■"
                fi
        done
done

敲黑板📝

  • 将数字替换为空,判断a是否为空 => 判断count是不是纯数字
  • shell中for循环没有冒号,只有do和done
  • seq $count相当于range