Команда Alias ​​не найдена при запуске .bashrc

Я пытаюсь сделать простейший из псевдонимов оболочки, как я всегда делал.

Вот мой .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

Вот мой результат ls -al для .bashrc :

-rwxr-xr-x@   1 ed    staff     78 Mar 17 03:55 .bashrc

Как ни странно, я могу ввести это в терминал, и он работает:

alias ll="ls -al"

Но не из файла .bashrc.

Какие-либо предложения ? Я проверил так много записей на форуме, и пока ничего не помогло.


person EdC7    schedule 17.03.2016    source источник


Ответы (1)


Похоже, что-то пошло не так во время копирования псевдонима в ваш .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. У кого-то была такая же проблема. Дивный новый мир юникода ;)

person aleneum    schedule 17.03.2016
comment
Вот оно. Огромное спасибо! Ваш пост позволил мне увидеть, что происходит. Я использовал open -e и TextEdit для редактирования файла .bashrc, а параметр «Замены — умные кавычки» был включен. Как только я его выключил, все заработало нормально. Успех! - person EdC7; 18.03.2016