如何编写Shell脚本实现输入4后打印0000至9999的四位数字序列
实现4位补零数字序列的Shell脚本方案
没问题,这个需求很容易实现!我给你几个实用的Shell脚本方案,按需选择就行:
方案1:用seq命令(最简洁)
seq本身支持格式化输出,一行就能搞定核心需求:
read -p "请输入数字:" num if [ "$num" -eq 4 ]; then # %04g 表示格式化为4位数字,不足的地方用0补全 seq -f "%04g" 0 9999 fi
方案2:用for循环+printf(更直观)
如果想手动控制循环逻辑,用printf格式化输出也很清晰:
read -p "请输入数字:" num if [ "$num" -eq 4 ]; then # 生成0到9999的所有整数 for i in {0..9999}; do # %04d 指定输出为4位十进制数,自动补零 printf "%04d\n" "$i" done fi
方案3:通用版(支持任意位数)
如果以后想扩展到其他位数(比如输入3就输出000-999),可以用这个更灵活的版本:
read -p "请输入数字:" num # 先判断输入是否为有效正整数 if ! [[ "$num" =~ ^[0-9]+$ ]]; then echo "请输入有效的正整数!" exit 1 fi if [ "$num" -eq 4 ]; then # 10**num -1 计算出对应位数的最大数(比如4位就是9999) seq -f "%0${num}g" 0 $((10**num - 1)) fi
运行脚本后,只要输入数字4,就能看到从0000到9999依次打印出来啦~
内容的提问来源于stack exchange,提问作者user17802858
相关产品推荐
相关产品推荐

