关于shell脚本中对字符串的去除字串操作

fym0121 发布于 2011/07/15 10:01
阅读 2K+
收藏 0

【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”

#!/bin/bash

str="abc-abc-123"

echo ${str#*-*}

echo ${str#*-}

这两个的输出结果是一样的,但我不知道为什么。

我认为第一个的输出应该是 -123

而第二个的输出应该是 abc-123

请问为什么他们的输出都是 abc-123

加载中
0
逝水fox
逝水fox
${Parameter#Pattern}和${Parameter##Pattern}作用是 如果Pattern匹配Parameter的开始部分则去除匹配部分。区别在于第一个格式是做的最短匹配(*可以匹配空串),而用##的话是最大匹配。
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部