首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OS : dirname

OS : dirname
EN

Stack Overflow用户
提问于 2009-08-20 21:08:16
回答 5查看 16.9K关注 0票数 13

我想要创建一个简单的bash脚本来在OS上启动一个Java程序。文件名、文件路径和立即工作文件夹都包含空格。当我这么做时:

代码语言:javascript
复制
#!/bin/sh
cd `dirname $0`

我得到了

代码语言:javascript
复制
usage: dirname path

我也试过在不同的地方放引号。最详细的例子是

代码语言:javascript
复制
cd "`dirname \"$0\"`"

什么都没起作用。我要么收到错误消息,要么得到神秘的“用法:脏名路径”消息。

还有哪些其他方法可以奏效呢?

编辑:,这似乎不是任何人的问题,除了我,所以它一定是我的盒子。我将接受我自己在下面的职位,因为这是唯一有效的解决这个具体问题的办法。然而,我肯定地提出了那些似乎对其他人有用的解决方案,并且非常感谢每个人的帮助。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-08-20 22:20:54

最后对我起作用的是改变这种状况:

代码语言:javascript
复制
#!/bin/sh
cd `dirname $0`

对此:

代码语言:javascript
复制
#! /bin/zsh
cd "${0:h}"

这也支持文件名和包含空格的文件路径。这是我找到它的地方:http://rentzsch.com/unix/locationAwareCommandFiles

票数 5
EN

Stack Overflow用户

发布于 2009-08-20 21:10:23

那麽:

代码语言:javascript
复制
cd "$(dirname "$0")"

在这里对我有用。

票数 14
EN

Stack Overflow用户

发布于 2009-08-20 21:20:11

代码语言:javascript
复制
#!/bin/sh
cd "$(dirname "$0")"
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1308823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档