basename
basename是一个标准UNIX计算机程序。当向basename传递一个路径名时,它会删除任何前缀,直到最后一个斜线('/'
)字符,然后返回结果。单一UNIX规范中描述了basename。其主要用于shell脚本中。
用法
单一UNIX规范中的basename格式如下。
basename string [suffix]
- string
- suffix
- 若指定,则basename也将删除此后缀。
示例
$ basename /home/jsmith/base.wiki base.wiki
$ basename /home/jsmith/base.wiki .wiki base
性能
由于basename只接受一个操作数,在shell脚本的内层循环使用它可能会影响性能。考虑
while read file; do basename "$file" ; done < some-input
以上片段会导致每一个输入行都会调用一个单独的进程。出于这个原因,通常用于壳层替代代替
echo "${file##*/}";