1.shell 中##、%%、/、//的使用
在shell中,#、##、/、//、%、%%用在变量后面时,表示对变量进行删除、替换操作,具体如下:
${var#keyword}:如果变量从头开始的内容符合keyword,则删除最短的符合内容
${var##keyword}:如果变量从头开始的内容符合keyword,则删除最长的符合内容
${var%keyword}:如果变量从头尾开始的内容符合keyword,则删除最短的符合内容
${var%%keyword}:如果变量从头尾开始的内容符合keyword,则删除最长的符合内容
${var/old/new}:使用new来替换变量中第一个old。
${var//old/new}:使用new来替换变量中所有的old。
示例
我们使用环境变量来进行下示例。首先查看我的PATH变量,并将其赋给自定义变量path:
jyq@ubuntu:~/shellstudy$ echo $PATH
/home/jyq/bin:/home/jyq/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
jyq@ubuntu:~/shellstudy$ path=$PATH
使用#删除变量
现在我要删除变量中的/home/jyq/bin:,则可以用#来进行操作:
jyq@ubuntu:~/shellstudy$

本文探讨了在Shell中如何使用##、%%、/、//进行变量的删除和替换操作。通过实例展示了如何删除变量开头或结尾的特定内容,以及如何替换变量中的特定字符串。此外,还介绍了对变量内容进行全面替换的方法。
最低0.47元/天 解锁文章
4582

被折叠的 条评论
为什么被折叠?



