shell脚本中##*的含义是什么?

Pra*_*lee 4 shell-script

脚本:

text="//ABC/REC/TLC/SC-prod/1f9/20/00000000957481f9-08d035805a5c94bf"

echo ${text##*/}
Run Code Online (Sandbox Code Playgroud)

这里,上面2行脚本中的2nd line是什么意思?

fre*_*ini 10

这是参数替换和/或扩展。从链接:

${var#Pattern}
Run Code Online (Sandbox Code Playgroud)

从 $var 中删除与 $var 前端匹配的 $Pattern 最短部分。

${var##Pattern}
Run Code Online (Sandbox Code Playgroud)

从 $var 中删除 $Pattern 中与 $var 前端匹配的最长部分。

因此,${text##*/}从文本中删除最后一个/. 例如,获取目录的基本名称很有用。

(还有${var%Pattern}/${var%%Pattern}删除与后端匹配的模式$var