在mac中向.profile添加别名时出错

时间:2014-12-16 19:25:41

标签: bash terminal alias .profile

我在Mac上编辑了我的.profile文件,以便在终端中创建别名。我添加了:

alias goto_test="cd /Library/WebServer/Documents"

我保存.profile文件并运行:

source .profile

但是,终端返回错误:

-bash: alias: /Library/WebServer/Documents: not found

我做错了什么?

备注

当我在终端中执行cd /Library/WebServer/Documents时,路径正常。

我注意到用alias show_test="ls"定义别名会引发错误,因为它似乎试图用引号执行“ls”。

alias show_test=ls没有引号确实有用。

但是,使用不带引号的alias goto_test=cd ~/不起作用,因为它是一个多字命令。

1 个答案:

答案 0 :(得分:4)

在OS X中禁用智能引号。您的ASCII双引号正被bash无法识别的花哨的倾斜Unicode引号所取代。

这是问题的再现:

$ cat profile                                                                
alias goto_test=“cd /Library/WebServer/Documents”                            

$ source profile                                                             
bash: alias: /Library/WebServer/Documents”: not found                        

$ shellcheck profile                                                         
In profile line 1:                                                           
alias goto_test=“cd /Library/WebServer/Documents”                            
                ^-- SC1015: This is a unicode double quote. 
                            Delete and retype it.

$ cat -vE profile                                                            
alias goto_test=M-bM-^@M-^\cd /Library/WebServer/DocumentsM-bM-^@M-^]$