首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >脚本从命令行运行,但不是从finder运行

脚本从命令行运行,但不是从finder运行
EN

Stack Overflow用户
提问于 2018-06-02 06:54:09
回答 2查看 49关注 0票数 0

我有一个运行Go程序的bash脚本。这就是它所做的一切,当我从命令行运行它时,它工作得很好。

但是,当我在查找器中双击它来运行它时,它返回/Users/colin/go/metgen/metaphorgenerator.sh: line 2: ./binary: No such file or directory

所以我让它回显它的工作目录,它只打印/Users/colin,我的主目录。

如何让它从文件所在的目录运行代码?(我希望它在任何目录下都能工作)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-02 07:41:22

$0是完整的程序名。因此,您可以使用HERE=$(dirname "$0")获取该目录。

然后,第2行应该有${HERE}/binary

票数 0
EN

Stack Overflow用户

发布于 2018-06-02 07:50:14

您需要将其指向可执行文件的位置,可以使用工作目录的相对路径(如go/metgen/binary )、绝对路径(如/Users/colin/go/metgen/binary )或absolute path based on the parent executable (不幸的是not reliable)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50651888

复制
相关文章

相似问题

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