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

bash中#0语法含义是什么?附字符串截断代码示例解析

关于bash中${var#0}的解释

这是bash里的参数展开功能,你之前误解了它的作用——它不是截断变量结尾的内容,而是删除变量开头匹配的最短模式。

拿你的例子来说:

var=00.00
echo ${var#0}

这里的#是前缀删除操作符,后面跟的0是要匹配的前缀模式。它会从变量var的开头,找到第一个匹配0的部分并删掉,所以00.00去掉开头第一个0,就得到了0.00。

如果想删除开头所有的0,可以用最长匹配的前缀删除操作符##,搭配通配符*:

echo ${var##0*}

这样会删掉开头所有连续的0,输出.00。

另外补充下,bash里用来截断结尾内容的是%操作符:

  • echo ${var%0} 会删除结尾最后一个0,输出00.0
  • echo ${var%%0*} 会删除结尾最长匹配的0相关内容,输出00.

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 06:45:37