问题描述
在运行命令时考虑以下输出:
$ /usr/libexec/java_home -v 1.8
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
命令 dirname
没有得到正确的目录名称:
$ echo $(dirname $(/usr/libexec/java_home -v 1.8))
/Library Plug-Ins/JavaAppletPlugin.plugin/Contents
我认为 dirname
也不支持空格。我支持 macOS 和 Big Sur。
解决方法
在 @Shawn 的提示之后,解决方案很简单:只需使用引号...
$ echo "$(dirname "$(/usr/libexec/java_home -v 1.8)")"
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents
谢谢@Shawn!