跳转到内容

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##*/}";

参见

外部链接