shellscript文件名或字符串的取头部或去尾部



$ vi testfilename.sh
#!/bin/sh
testname="a1.b2.c3.d4.e5"
echo "testname="$testname
echo '${testname%%.*}'
echo "${testname%%.*}" #取头部
echo '${testname%.*}'
echo "${testname%.*}"   #去尾部
echo '${testname#*.}'
echo "${testname#*.}"   #去头部
echo '${testname##*.}'
echo "${testname##*.}"  #取尾部

$ ./testfilename.sh 

testname=a1.b2.c3.d4.e5
${testname%%.*}
a1
${testname%.*}
a1.b2.c3.d4
${testname#*.}
b2.c3.d4.e5
${testname##*.}

e5

理解的简单方法:

记忆的方法为:# 是 去掉左边(键盘上#在 $ 的左边),%是去掉右边(键盘上% 在$ 的右边),单一符号是最小匹配;两个符号是最大匹配

猜你喜欢

转载自blog.csdn.net/lepton126/article/details/80067936