basename是一个标准UNIX计算机程序。当向basename传递一个路径名时,它会删除任何前缀,直到最后一个斜线('/'
)字符,然后返回结果。单一UNIX规范中描述了basename。其主要用于shell脚本中。
单一UNIX规范中的basename格式如下。
basename string
- string
- 路径名
- suffix
- 若指定,则basename也将删除此后缀。
示例
$ basename /home/jsmith/base.wiki base.wiki
$ basename /home/jsmith/base.wiki .wikibase
性能
由于basename只接受一个操作数,在shell脚本的内层循环使用它可能会影响性能。考虑
while read file; do basename "$file" ;done <
以上片段会导致每一个输入行都会调用一个单独的进程。出于这个原因,通常用于壳层替代代替
echo "${file##*/}";
参见
- Unix实用程序列表
dirname
- 路径
外部链接
basename
: return non-directory portion of a pathname – 命令与工具(Commands & Utilities)参考,单一UNIX®规范第7期,由国际开放标准组织发布basename
: strip directory and suffix from filenames – 参考,单一UNIX®规范第7期,由国际开放标准组织发布