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$