回显shell中的basename

时间:2015-07-02 06:36:53

标签: shell

我有一个目录路径,我需要从中提取文件名,以便我可以在shell脚本中进一步使用。

#!/bin/sh
dir=/var/tmp/file1
fname= basename $dir 
echo $fname
echo "The script executes:" $fname 
echo $fname

这里fname只打印一次。在所有其他情况下,它都是空白。

我哪里错了?

2 个答案:

答案 0 :(得分:0)

以下是有效的。

#!/bin/sh
dir=/var/tmp/file1
fname=`basename $dir`
echo $fname
echo "The script executes:" $fname
echo $fname
  

输出 $:./ tt.sh

     

file1

     

脚本执行:file1

     

文件1

答案 1 :(得分:-1)

还有一些要点可以补充上述答案。

如果您只想要没有任何扩展名的文件名

使用以下命令

basename filename.type .type