首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bash提供变量作为文件路径

bash提供变量作为文件路径
EN

Stack Overflow用户
提问于 2018-03-16 18:19:06
回答 2查看 1.9K关注 0票数 1

我试图指定一个变量来打开一个带有特定应用程序的文件,但是无论我如何尝试引用它,它都不起作用。

代码语言:javascript
复制
sublime1=/Applications/Sublime\ Text.app/
sublime2="/Applications/Sublime\ Text.app/"
sublime3="/Applications/Sublime Text.app/"

我一直在尝试不同的方法来设置变量,但是对于我尝试过的每个变体,它都失败了。

代码语言:javascript
复制
open ~/.zshrc -a $sublime1
open ~/.zshrc -a $sublime2
open ~/.zshrc -a $sublime3

文件/User/matthew/Text.app不存在

这给了我同样的错误,所以我假设它们是等价的。即使我尝试cd $sublime,它也失败了,但略有不同.

bash: cd: /Applications/ such :没有这样的文件或目录

更新

Charles建议使用一个函数来完成快速打开崇高事物的任务。

代码语言:javascript
复制
sublime() { open "$@" -a "/Applications/Sublime Text.app/"; }

将允许您简单地运行

代码语言:javascript
复制
sublime ~/.zshrc
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-16 18:23:22

这些作业是正确的:

亚1=/Applications/Sub击\ Text.app/ sublime3=“/Applications/SubalimumText.app/”

问题在于调用。用作命令行参数的变量受分词和全局化的影响。你需要双份引用,就像这样:

代码语言:javascript
复制
open ~/.zshrc -a "$sublime1"
open ~/.zshrc -a "$sublime3"
票数 4
EN

Stack Overflow用户

发布于 2018-03-16 18:25:04

尝试使用sublime1=$(/Applications/Sublime/Text.app)

并在命令行中在chmod 770 Text.app上使用Text.app

抱歉我的英语..。

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

https://stackoverflow.com/questions/49327255

复制
相关文章

相似问题

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