我试图指定一个变量来打开一个带有特定应用程序的文件,但是无论我如何尝试引用它,它都不起作用。
sublime1=/Applications/Sublime\ Text.app/
sublime2="/Applications/Sublime\ Text.app/"
sublime3="/Applications/Sublime Text.app/"我一直在尝试不同的方法来设置变量,但是对于我尝试过的每个变体,它都失败了。
open ~/.zshrc -a $sublime1
open ~/.zshrc -a $sublime2
open ~/.zshrc -a $sublime3文件/User/matthew/Text.app不存在
这给了我同样的错误,所以我假设它们是等价的。即使我尝试cd $sublime,它也失败了,但略有不同.
bash: cd: /Applications/ such :没有这样的文件或目录
更新
Charles建议使用一个函数来完成快速打开崇高事物的任务。
sublime() { open "$@" -a "/Applications/Sublime Text.app/"; }将允许您简单地运行
sublime ~/.zshrc发布于 2018-03-16 18:23:22
这些作业是正确的:
亚1=/Applications/Sub击\ Text.app/ sublime3=“/Applications/SubalimumText.app/”
问题在于调用。用作命令行参数的变量受分词和全局化的影响。你需要双份引用,就像这样:
open ~/.zshrc -a "$sublime1"
open ~/.zshrc -a "$sublime3"发布于 2018-03-16 18:25:04
尝试使用sublime1=$(/Applications/Sublime/Text.app)
并在命令行中在chmod 770 Text.app上使用Text.app
抱歉我的英语..。
https://stackoverflow.com/questions/49327255
复制相似问题