У меня есть исполняемый файл: /opt/Eclipse/eclipse. Я хотел бы запустить его с любого пути с консоли терминала. По этой причине я создаю символическую ссылку:
ln -s /opt/Eclipse/eclipse /usr/bin/eclipse
Но это не помогло запустить eclipse, просто купите ввод ./eclipse из любого места в окне терминала. Система не находит исполняемый файл. Я ожидал, что эта система найдет ссылку eclipse в /usr/bin. Где ошибка в моем мышлении?
Вместо создания символической ссылки вы можете просто добавить псевдоним в свой файл .bashrc ... Для этого вы можете начать, добавив alias eclipse='/file/pathway/to/executable' в нижней части вашего .bashrc файла. Затем вы можете проверить это, выполнив source .bashrc и eclipse ...
Зачем даже связывать это? Вы можете просто добавить /opt/Eclipse к своему PATH. В ~/.bashrc:
PATH="/opt/Eclipse:$PATH"
, а затем
source ~/.bashrc
, вы должны просто запустить
eclipse
Это действительно может быть немного удивителен с первого взгляда. bash (и другие оболочки) поддерживает хэш для быстрого поиска двоичных файлов в $PATH, когда пользователь выдает команду. Альтернативой было бы сканирование всех этих каталогов каждый раз, когда выдается команда, чтобы выяснить, что подразумевается. И это дорого.
При определенных обстоятельствах, что hash не обновляется должным образом. Читайте здесь и здесь (раздел hash) для точных подробностей.
Кажется, вы заметили такой редкий случай, когда фактическое содержимое каталога и значения в этом хэше не синхронизированы. Простой
hash -r
сообщает bash перестроить свой хеш. Это нужно сделать только один раз, если вы хотите открыть окно текущего терминала. Если вы закрываете и снова открываете окно терминала, это не нужно.
Вместо создания символической ссылки вы можете просто добавить псевдоним в свой файл .bashrc ... Для этого вы можете начать, добавив alias eclipse='/file/pathway/to/executable' в нижней части вашего .bashrc файла. Затем вы можете проверить это, выполнив source .bashrc и eclipse ...
Зачем даже связывать это? Вы можете просто добавить /opt/Eclipse к своему PATH. В ~/.bashrc:
PATH="/opt/Eclipse:$PATH"
, а затем
source ~/.bashrc
, вы должны просто запустить
eclipse
Это действительно может быть немного удивителен с первого взгляда. bash (и другие оболочки) поддерживает хэш для быстрого поиска двоичных файлов в $PATH, когда пользователь выдает команду. Альтернативой было бы сканирование всех этих каталогов каждый раз, когда выдается команда, чтобы выяснить, что подразумевается. И это дорого.
При определенных обстоятельствах, что hash не обновляется должным образом. Читайте здесь и здесь (раздел hash) для точных подробностей.
Кажется, вы заметили такой редкий случай, когда фактическое содержимое каталога и значения в этом хэше не синхронизированы. Простой
hash -r
сообщает bash перестроить свой хеш. Это нужно сделать только один раз, если вы хотите открыть окно текущего терминала. Если вы закрываете и снова открываете окно терминала, это не нужно.