bash脚本与交互式shell Mac OSx的矛盾行为?

时间:2015-06-27 03:30:59

标签: macos bash shell alias

我的.bashrc脚本中有以下内容:

alias sublime='open -a Sublime\ Text\ 2' 

初始化bash shell时,会抛出以下错误:

-a: not found
Sublime Text 2' not found

但是,如果我在终端中运行以下命令,它将按预期执行并打开Sublime:

open -a Sublime\ Text\ 2

最后,当我将以下内容放在我的.bashrc脚本中时,在初始化shell时它不会抛出错误...

alias sublime='open\ -a\ Sublime\ Text\ 2' 

...但是当我在shell中运行sublime时,它仍会抛出错误:

'open: command not found

为什么shell和bash脚本之间存在这种不同的行为?感谢。

1 个答案:

答案 0 :(得分:1)

您需要正确引用该命令。试试这个:

alias sublime='/usr/bin/open -a "Sublime Text 2"'