You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Shell脚本中实现字符串与整数互转及格式化补零

Shell 三位补零序列号自增实现方案

你需要的逻辑可以通过bash算术扩展+printf格式化实现,修改后的代码如下:

input_sub=000
while [ -d "$input_dir" ]
do
    echo "$input_sub"
    # 转十进制整数加1后格式化为3位补零字符串
    input_sub=$(printf "%03d" $((10#$input_sub + 1)))
done

实现说明

  • 算术扩展$((10#$input_sub + 1))中10#前缀的作用是强制将带前导零的字符串按照十进制规则解析,避免被bash默认识别为八进制数导致数值计算错误。
  • printf "%03d"会自动将整数输出为3位长度的字符串,不足位数的位置自动补前导零,无需额外做字符串拼接操作。
  • 以上写法兼容所有POSIX标准的shell环境,适用性最广。

内容的提问来源于stack exchange,提问作者KansaiRobot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 21:06:00