内容一:掐头
1.1 只掐头从左数第 1 个出现的某个字符和此字符前面的所有内容
# complete=/dir1/dir2/dir3/dir4/test.file.txt
# echo ${complete#*/}
dir1/dir2/dir3/dir4/test.file.txt
(补充:这里以掐掉从左数第 1 个斜杠 “/” 以及前面的所有所有内容为例)
1.2 掐头从左数最后 1 个出现的某个字符和此字符前面的所有内容
# complete=/dir1/dir2/dir3/dir4/test.file.txt
# echo ${complete##*/}
test.file.txt
(补充:这里以掐掉从左数最后 1 个斜杠 “/” 以及前面的所有所有内容为例)
内容二:去尾
2.1 只去尾从右数第 1 个出现的某个字符和此字符后面的所有内容
# complete=/dir1/dir2/dir3/dir4/test.file.txt
# echo ${complete%.*}
/dir1/dir2/dir3/dir4/test.file
(补充:这里以掐掉从右数第 1 个点 “.” 以及后面的所有所有内容为例)
2.2 去尾从右数最后 1 个出现的某个字符和此字符后面的所有内容
# complete=/dir1/dir2/dir3/dir4/test.file.txt
# echo ${complete%%.*}
/dir1/dir2/dir3/dir4/test
(补充:这里以掐掉从右数最后 1 个点 “.” 以及后面的所有所有内容为例)