【问题标题】:How to convert a directory to a string? [duplicate]如何将目录转换为字符串? [复制]
【发布时间】: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

标签: bash shell unix


【解决方案1】:

使用basename:

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

【讨论】:

  • 正是我需要的,谢谢。
猜你喜欢
  • 2014-08-05
  • 1970-01-01
  • 2019-06-17
  • 2015-08-17
  • 1970-01-01
  • 2012-07-04
  • 2011-06-18
相关资源
最近更新 更多