关于bash:如何将目录转换为字符串?

How to convert a directory to a string?

本问题已经有最佳答案,请猛点这里访问。

我叫symlinkCURRENT指向一个目录,比如说

1
CURRENT -> $HOME/local/java/jdk1.8.0

我想把jdk1.8.0部分提取为字符串。

首先,我通过以下方式获取目录:

1
 current_dir= $(readlink -f $CURRENT)

然后,我试图提取路径的最后一部分:

1
last_part= ${current_dir##*/}

甚至当我尝试通过以下方式打印时:

1
echo $current_dir

我得到这个错误:

1
bash: /home/tarrsalah/local/java/jdk1.8.0: Is a directory

如何将目录转换为字符串?


使用basename

1
2
$ basename /home/tarrsalah/local/java/jdk1.8.0
jdk1.8.0