bash shell 变量模式匹配 # ## % %%:
测试变量准备
jagger@2004:~/working/bash$ pwd
/home/jagger/working/bash
jagger@2004:~/working/bash$ filename=$PWD"/test.sh"
jagger@2004:~/working/bash$ echo $filename
/home/jagger/working/bash/test.sh
#:匹配左边开始最短
##:匹配左边开始最长
jagger@2004:~/working/bash$ echo ${filename#/home}
/jagger/working/bash/test.sh
jagger@2004:~/working/bash$ echo ${filename}
/home/jagger/working/bash/test.sh
jagger@2004:~/working/bash$
jagger@2004:~/working/bash$ echo ${filename##*/}
test.sh
jagger@2004:~/working/bash$ echo ${filename}
/home/jagger/working/bash/test.sh
jagger@2004:~/working/bash$
%:匹配右边开始最短
%%:匹配右边开始最长
jagger@2004:~/working/bash$ echo ${filename%/*}
/home/jagger/working/bash
jagger@2004:~/working/bash$ echo ${filename%%/*}
jagger@2004:~/working/bash$ echo ${filename}
/home/jagger/working/bash/test.sh
jagger@2004:~/working/bash$
方便记忆法:# 在%左边,%在#右边;#|% 短,##|%%长。
bash shell 变量模式匹配 ${# }:
${#varname}:计算变量字符串长度
jagger@2004:~/working/bash$ echo ${#filename}
33