我正在尝试在Mac Mini的Mavericks(10.9.3)的TextEdit中的.bash_profile中添加以下别名:
alias proj="cd ~/documents/google\ drive/web/projects"
我收到以下错误:
line 1: unexpected EOF while looking for matching '"'
line 2: syntax error: unexpected end of file
bash给出:
alias proj='"cd'
但是,如果我复制&将完全相同的一行从我的Windows VM中的记事本粘贴到TextEdit中就可以了。
bash现在按预期给出:
alias proj='cd ~/documents/google\ drive/web/projects'
我尝试过以下方法但没有成功:
包含和不包含空格的不同路径
交换了我用于Mac的戴尔PC键盘
将英语改为英国英语
安装所有更新
我可以使用copy& amp;粘贴如上,但真的想深究它。任何想法都非常感谢,谢谢。
答案 0 :(得分:1)
这是一个引用问题。尝试:
alias proj="cd ~/documents/'google drive'/web/projects"
在评估alias命令时,将删除双引号。 处理“proj”调用时,将删除单引号。 在别名评估时删除了原始反斜杠。 你也可以加倍反斜杠:
alias proj="cd ~/documents/google\\ drive/web/projects"
适合我。打开命令跟踪(设置-x),看看到底发生了什么。
$ cat xx ; source xx ; proj ; pwd
alias proj="cd $HOME/workspace/'google drive'/web"
/home/sciadmin/workspace/google drive/web
P.S。我理智地检查了“$ HOME”和“〜”的等价性作为别名。工作正常,所以用〜代替$ HOME将在上面的例子中起作用。
好的,这是符号链接的结果:
$ . xx ; cat xx ; proj ; pwd ; pwd -P
alias proj="cd ~/workspace/'google drive'/web"
/home/sciadmin/workspace/google drive/web
/home/sciadmin/workspace/foo bar/web
我想你可能没有使用BASH。
答案 1 :(得分:-1)
我在textedit和bash上遇到了一些问题。检查textedit首选项' GENERAL'并选择纯文本,然后关闭智能引号和智能短划线。
如果那样做不行 - 那么,遗憾的是,我是Sans Clue。