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.0echo ${var%%0*}会删除结尾最长匹配的0相关内容,输出00.
内容的提问来源于stack exchange,提问作者Autechre
相关产品推荐
相关产品推荐

