zsh: команда не найдена - работает только при изменении пути, но при перезапуске терминала путь меняется обратно - PullRequest
0 голосов
/ 20 марта 2020

В моей корзине 4 файла. Как ни странно, два из них работают, когда я вызываю их в терминале, а другие (более новые) - нет.

Мой файл bin выглядит так: https://ibb.co/bsj00jG

Когда я набираю «какой chd-проект» в терминале (chd-project является одним из bash работающих скриптов), он говорит / usr / local / bin / chd-project - однако я не могу найти локальный файл на моем Ma c.

Когда я набираю какой id-проект (скрипт bash, который не может быть найден), он просто говорит, что id-проект не найден.

Если я установлю PATH=$HOME/bin, я смогу вызвать файл id-проекта. Однако всякий раз, когда я перезагружаю свой терминал, он снова сбрасывается. Однако иногда это может вызывать ошибки, поскольку более поздние команды в том же самом скрипте bash иногда не могут быть найдены.

Когда я набираю echo $PATH, я получаю /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Однако, как Ранее было сказано, что я могу вызвать chd-project в моем терминале (хотя там написано usr / local / bin, если я использую 'which'), но я не могу вызвать id-project.

Любая помощь будет принята с благодарностью. .

Спасибо

1 Ответ

0 голосов
/ 20 марта 2020

Ваша переменная PATH сбрасывается для каждого запускаемого вами сеанса. Это потому, что текущий сеанс не устанавливает постоянные переменные среды. Однако перед началом сеанса он запускает файлы, которые, например, содержат значение PATH.

Если вы хотите добавить это для каждого открытого терминала, вы должны расширить свой путь в своем bash profile.

$ echo "export PATH=$PATH:$HOME/bin" >> $HOME/.bashrc

Не забывайте, что вам не следует перезаписывать переменную PATH, поскольку она используется для поиска таких команд, как mv, cp, et c.

РЕДАКТИРОВАТЬ:
Я не очень хорошо знаю Atom, но если бы вы открыли обычный (не в IDE) терминал, он должен работать. Вполне возможно, что Atom не выполняет .bashr c по любой причине. Вы можете попробовать добавить его в свой профиль.

$ echo "export PATH=$PATH:$HOME/bin" >> $HOME/.profile
...