我想在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.
的定义中。我怎样才能做到这一点?
答案 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文档:
<强>更新强>
默认情况下,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$