我正在尝试做最简单的shell别名,就像我一直用来做的那样。
例如,这是我的.bashrc(和ZSH和.zshrc一样):
alias ll=“ls -al”
alias edit_http=“open -e /etc/httpd/conf/httpd.conf”
这是我的$ PATH变量:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
当我打开一个新的终端窗口时,我得到了这个:
-bash: alias: -al”: not found
-bash: alias: -e: not found
-bash: alias: /etc/httpd/conf/httpd.conf”: not found
这是我的.sashrc的结果:
-rwxr-xr-x@ 1 ed staff 78 Mar 17 03:55 .bashrc
奇怪的是我可以将它输入终端并且它可以工作:
alias ll="ls -al"
但不是来自.bashrc文件。
有什么建议吗?我检查了很多论坛条目,到目前为止没有任何工作。
答案 0 :(得分:3)
将别名复制到.bashrc期间看起来出了问题。
你的结果是'错'引号。将“
替换为"
,它应该有效。 “
是unicode但您需要ascii引号。对于测试,您可以使用此.bashrc
# bashrc example
# won't work
alias ll=“ls -al”
# will work
alias la="ls -al"
使用此代码,您可以验证您的问题:
$ source .bashrc
-bash: alias: -al”: not found
$ ll
-bash: “ls: command not found
$ la
total 0
drwxr-xr-x 2 alneuman staff 68 Mar 17 12:18 .
drwxrwxrwx+ 70 alneuman staff 2380 Mar 17 12:18 ..
在unix.stackexchange上查看here。有人有同样的问题。勇敢的新unicode世界;)