在读一个shell脚本的时候,看到了basename
这个命令,本着了解一番的心理,发现这个命令还是蛮有用的。所以,简单记录一下basename
的两种用法。
用法1:获取文件名称(带后缀)
使用方法:
file="/usr/bin/include/temp.h"
filename=$(basename ${file})
echo ${filename}
输出如下:
temp.h
即basename
去除了文件目录,只保留了最后的文件名称。
用法2:获取文件名称(不带后缀)
除了获取文件名称,basename
还可以用于获取不带指定后缀的文件名称
使用方法
file="/usr/bin/include/temp.h"
filename=$(basename ${file} ".h")
echo ${filename}
输出如下:
temp
需要注意的是,basename
去除文件后缀,只是去除最后一个后缀,例如:
file="/usr/bin/include/temp.h.h"
filename=$(basename ${file} ".h")
echo ${filename}
输出如下:
temp.h
从输出结果可以看到,basename
不会递归式去除文件后缀。
写在结束!