2015-08-14 6 views
1

Я установил возвышенный текст 2 и создал символическую ссылку на него и поместил его в ~/bin. Я добавил ~/bin в переменную PATH в ~/.zshrc.zsh command not found issue

Если я пытаюсь выполнить subl (символьной ссылки Sublime в), я получаю:

zsh: command not found: subl 

Но если я выполняю ~/bin/subl, он работает правильно.

Вторя PATH показывает, что ~/бен в переменной PATH .:

~/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin 

Любая идея, что может вызвать команду не нашел проблему?

+0

Как вы установили 'PATH'? Добавление '~/bin' должно работать, но повторение' $ PATH' должно показать замену тильды на ваш фактический домашний каталог. – chepner

+0

Я добавил переменную ~/bin в переменную PATH непосредственно в файл .zshrc. Echoing $ PATH по какой-то причине не показывает расширенную версию. – Boon

ответ

6

bash интерпретирует ~ в PATH, но большинство оболочек этого не делают.

Вместо этого использовать $HOME.

+0

'zsh' также позволяет' ~ ', но, видимо, произошел сбой при добавлении' ~ '. – chepner

+0

@chepner В вашем случае вы, вероятно, расширили '~' перед добавлением его в PATH, например. с 'PATH = ~/bin: $ PATH'. Если вы выполняете 'PATH =" ~/bin: $ PATH "' или иначе получаете литеральную тильду в PATH, это не интерпретируется. –

+0

Правильно, вот что я упомянул в своем комментарии к вопросу; Я должен был быть яснее. (Для полного раскрытия я фактически использую что-то вроде 'path = (~/bin $ path)', но применяется тот же принцип.) – chepner