Shell中“${name##*/}”的含义是什么

Shell中“${name##*/}”的含义是什么

我有一个代码

while read name; do uuencode "$name" "${name##*/}"; done

但我不明白##*/in的含义是什么"${name##*/}"

谷歌没有给出好的结果。有人可以解释一下吗?

答案1

这用于从完整路径获取文件名。这与使用命令类似basename

例子:

filename="/tmp/test.txt"
echo "$filename" "${filename##*/}"
/tmp/test.txt test.txt
basename "$filename"
test.txt``

相关内容