我在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 ~/
不起作用,因为它是一个多字命令。
答案 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-^]$