我正在尝试使用特定应用指定一个用于打开文件的变量,但无论我如何尝试引用它,它都无效。
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
文件/Users/matthew/Text.app不存在
它给了我每个相同的错误,所以我认为它们是等价的。即使我尝试cd $sublime
它也会失败,但略有不同......
bash:cd:/ Applications / Sublime:没有这样的文件或目录
更新:
Charles建议使用函数来完成快速打开崇高内容的任务。
sublime() { open "$@" -a "/Applications/Sublime Text.app/"; }
允许您简单地运行
sublime ~/.zshrc
答案 0 :(得分:4)
这些作业是正确的:
sublime1=/Applications/Sublime\ Text.app/ sublime3="/Applications/Sublime Text.app/"
问题在于调用。用作命令行参数的变量受单词拆分和通配操作的影响。你需要对它们进行双引号,如下所示:
open ~/.zshrc -a "$sublime1"
open ~/.zshrc -a "$sublime3"
答案 1 :(得分:-2)
尝试使用sublime1=$(/Applications/Sublime/Text.app)
并在命令行中的Text.app上使用chmod 770 Text.app