При установке OpenNMS возникла небольшая загвоздка. Проблема решена, но это оставило меня в недоумении ...
Почему это не работает:
[nac@localhost /]$ cd opt/opennms/bin/
[nac@localhost bin]$ runjava -s
-bash: runjava: command not found
... но это работает:
[nac@localhost /]$ opt/opennms/bin/runjava -s
runjava: Looking for an appropriate JRE...
runjava: Checking for an appropriate JRE in JAVA_HOME...
runjava: skipping... JAVA_HOME not set
runjava: Checking JRE in user's path: "/usr/bin/java"...
runjava: found an appropriate JRE in user's path: "/usr/bin/java"
Я использую cygwin. ssh в коробку Fedora. вывод будет зеленым для ls / opt / opennms / bin
, если это поможет ...
Потому что .
не является частью вашего $PATH
. Unix будет искать исполняемые программы только в тех каталогах, которые перечислены в $PATH
.
Кроме того, наличие .
в $PATH
представляет угрозу безопасности, поэтому не делайте этого.
Ваш $PATH
не содержит текущий каталог, .
. Таким образом, исполняемый файл runjava
не найден, когда вы пытаетесь запустить его без пути, когда он находится в своем каталоге.
Он также не содержит /opt/opennms/bin
. Если бы это было так, то при вводеrunjava
(в любой директории )исполняемый файл находился бы там.
Несколько решений:
/opt/opennms/bin/runjava
или ./runjava
, если вы находитесь в каталоге /opt/opennms/bin
. Добавьте /opt/opennms/bin
к вашему пути. Для этого отредактируйте файл инициализации оболочки(.bash_profile
или .bashrc
дляbash
)и добавьте строку
PATH="$PATH:/opt/opennms/bin"
Затем перезапустите сеанс Cygwin.
Создать псевдоним:
alias runjava=/opt/opennms/runjava
Это будет добавлено в файл запуска оболочки. Это запустит исполняемый файл runjava
, как если бы вы ввели полный путь к нему при вводе команды runjava
.
Вы не хотите добавлять .
к переменной PATH
. Обсуждение этого вопроса см. в вопросе " Безопасно ли добавлять. к моему ПУТИ? Почему? "