Bash 负数截取偏移:冒号后少一个空格,为什么拿到整段字符串 脚本想从编号末尾取三个字符,却拿回完整编号。表达式里的冒号和减号紧挨着,Bash 把它读成默认值展开,而没有进入字符串截取。给负数偏移留出空格,看起来只是排版变化,实际上是在选择另一种语法;因此这类问题不能只检查变量... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
Bash 花括号展开:上限换成变量,为什么范围就不再展开 脚本里原来写着 part{1..3},能生成三个名称。把上限提取成变量之后,却只剩下一个带花括号的字符串。变量明明有值,末尾打印出来也像合法范围,为什么 Bash 没有再展开一次?关键在于展开阶段的先后顺序。花括号展... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
Bash 默认值展开:没有设置和空字符串,为什么会走不同分支 空值可能是调用者有意留下的脚本接受一个可选标签:没有传入时使用默认标签,明确传入空字符串时则不显示标签。写成 ${demo_value:-default} 后,主动留空也变回了默认值。问题来自冒号,它改变了检查条件,... yunqueblog/ 技术教程/ 2026-10-01/ 3 阅读