Shell中的${},##和%%的使用简单介绍

风流不在谈锋胜,袖手无言味最长。这篇文章主要讲述Shell中的${},##和%%的使用简单介绍相关的知识,希望能为你提供帮助。
【Shell中的${},##和%%的使用简单介绍】使用$来调用变量加##和%%这两个取出不一样的值

我们可以是$变量名和$变量名来调用定义的变量,这两个都可以调用变量,$变量名这个可以截取变量的一部分,而$后面加变量名这个没办法这样。 在这里我们定义一个变量为: root@ubuntu:~# HTTPD_URL="https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.53.tar.gz" root@ubuntu:~# echo $HTTPD_URL#*/ /mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.53.tar.gz root@ubuntu:~# echo $HTTPD_URL##*/ httpd-2.4.53.tar.gz root@ubuntu:~# echo $HTTPD_URL#*. tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.53.tar.gz root@ubuntu:~# echo $HTTPD_URL##*. gz root@ubuntu:~# echo $HTTPD_URL%/* https://mirrors.tuna.tsinghua.edu.cn/apache/httpd root@ubuntu:~# echo $HTTPD_URL%%/* https: root@ubuntu:~# echo $HTTPD_URL%.* https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.53.tar root@ubuntu:~# echo $HTTPD_URL%%.* https://mirrors

$HTTPD_URL#*/:删掉第一个/ 及其左边的字符串:/mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.53.tar.gz $HTTPD_URL##*/:删掉最后一个/及其左边的字符串:httpd-2.4.53.tar.gz $HTTPD_URL#*.:删掉第一个.及其左边的字符串:tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.53.tar.gz $HTTPD_URL##*.:删掉最后一个.及其左边的字符串:gz $HTTPD_URL%/*:删掉最后一个 /及其右边的字符串:https://mirrors.tuna.tsinghua.edu.cn/apache/httpd $HTTPD_URL%%/*:删掉第一个/及其右边的字符串:https: $HTTPD_URL%.*:删掉最后一个 .及其右边的字符串:https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.53.tar $HTTPD_URL%%.*:删掉第一个 .及其右边的字符串:https://mirrors

#是去掉左边(键盘上#在 $ 的左边)
%是去掉右边(键盘上% 在$ 的右边)
单一符号是最小匹配;两个符号是最大匹配
也可以对变量值里的字符串作替换: file=/test1/test2/test3/test.txt $file/test/user:将第一个dir 替换为/user1/test2/test3/test.txt $file//test/user:将全部dir 替换为/user1/user2/user3/user.txt 也可以查看变量值的长度: $#变量名


    推荐阅读