今天在配置Jenkins自动部署时使用到了shell脚本方式,因此记录一下截取git代码分支命名时使用到的命令${file##*/}
。
例如如下代码:
file=/dir1/dir2/dir3/my.file.txt
常用的截取操作如下:
${file#/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt
${file##/}:删掉最后一个 / 及其左边的字符串:my.file.txt
${file#.}:删掉第一个 . 及其左边的字符串:file.txt
${file##.}:删掉最后一个 . 及其左边的字符串:txt
${file%/}:删掉最后一个 / 及其右边的字符串:/dir1/dir2/dir3
${file%%/}:删掉第一个 / 及其右边的字符串:(空值)
${file%.}:删掉最后一个 . 及其右边的字符串:/dir1/dir2/dir3/my.file
${file%%.}:删掉第一个 . 及其右边的字符串:/dir1/dir2/dir3/my
记忆的方法为:
- #是 去掉左边(键盘上#在 $ 的左边)
- %是去掉右边(键盘上% 在$ 的右边)
- 单一符号是最小匹配;两个符号是最大匹配
参考链接:https://blog.csdn.net/tcx1992/article/details/80655356