定义从MacOS上的命令行打开Chrome的快捷方式

时间:2018-04-16 00:22:15

标签: bash macos google-chrome command-line

我想在Mac上使用Google Chrome从命令行打开.html.xml个文件。通常我只使用open命令,但对于.xml文件,我注意到默认应用程序是XCode,所以我想用{{1}指定应用程序}参数。

以下命令有效:

-a

我在这里用引号括起Kurts-MacBook-Pro:MacOS kurtpeek$ open -a "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" ~/Documents/Seattle/comparables.xml 的路径 - 其中有空格。为了使将来更容易输入,我想在Google Chrome中定义一个包含此路径的环境变量$chrome,我按照以下步骤操作:

.bash_profile

export chrome="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" 命令会打印出来:

echo

但是,如果我尝试使用此环境变量重新运行Kurts-MacBook-Pro:~ kurtpeek$ echo $chrome /Applications/Google Chrome.app/Contents/MacOS/Google Chrome 来指定应用程序,则会出现以下错误:

open -a

显然,在这种情况下,Bash shell无法识别'引号我放在Kurts-MacBook-Pro:~ kurtpeek$ open -a $chrome Documents/Seattle/comparables.xml The files /Users/kurtpeek/Chrome.app/Contents/MacOS/Google and /Users/kurtpeek/Chrome do not exist. 的定义中。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

关注Set environment variable with having space linux,可以将$chrome括在引号中来完成:

Kurts-MacBook-Pro:~ kurtpeek$ open -a "$chrome" Documents/Seattle/comparables.xml
Kurts-MacBook-Pro:~ kurtpeek$ 

并在Chrome中打开XML文档:

enter image description here

<强>更新

默认情况下,open命令会在Applications目录中显示(来自https://superuser.com/questions/157484/start-google-chrome-on-mac-with-command-line-switches/157486#157486)。因此只需将"Google Chrome"作为-a参数传递即可:

Kurts-MacBook-Pro:~ kurtpeek$ open -a "Google Chrome" Documents/Seattle/comparables.xml
Kurts-MacBook-Pro:~ kurtpeek$