【发布时间】:2013-05-04 08:57:13
【问题描述】:
我有我 symlink 命名为 CURRENT 指向一个目录,可以说
CURRENT -> $HOME/local/java/jdk1.8.0
我想将jdk1.8.0 部分提取为字符串。
首先,我通过以下方式获取目录:
current_dir= $(readlink -f $CURRENT)
然后,我尝试提取路径的最后一部分:
last_part= ${current_dir##*/}
甚至当我尝试通过以下方式打印它时:
echo $current_dir
我收到此错误:
bash: /home/tarrsalah/local/java/jdk1.8.0: Is a directory
如何将目录转换为字符串?
【问题讨论】:
-
你的错误是由于等号后面的空格引起的:shell变量赋值中等号周围必须有no空格。
-
感谢@glennjackman,我更喜欢使用
basename,这样不容易出错。 -
好的,虽然我的评论提到了 shell 编程的一个非常基本的方面,你似乎遇到了麻烦。
-
是的,我可以看到,这是我的第一个shell脚本:),我会关注这个案例,再次感谢。
-
好,看起来很有用,谢谢@thatotherguy