【发布时间】:2010-11-21 11:36:45
【问题描述】:
我想创建一个简单的 bash 脚本来在 OS X 上启动 Java 程序。文件名、文件路径和直接工作文件夹都包含空格。当我这样做时:
#!/bin/sh
cd `dirname $0`
我明白了
usage: dirname path
我也尝试在各种不同的地方加上引号。最详细的例子是
cd "`dirname \"$0\"`"
没有任何效果。我要么收到错误消息,要么收到神秘的“用法:目录名路径”消息。
还有哪些可行的方法?
编辑:这似乎对我以外的任何人都不是问题,所以它一定只是我的盒子。我将在下面接受我自己的帖子,因为这是解决此特定问题的唯一解决方案。但是,我绝对赞成似乎对其他人有用的解决方案,并非常感谢大家的帮助。
【问题讨论】:
-
echo $0产生了什么? dirname 可能对 $0 的值有问题。您是否尝试过在不同目录中使用脚本运行它? -
您的第二个示例适用于我,其目录深度为六层,其中每个其他祖先的名称中至少有一个空格。
-
曾经尝试查看 dirname 的联机帮助页吗?
-
@Matt - 我现在正在看。我在找什么?