1

У меня есть команда, которая:

./keytool

Но я всегда должен идти в эту папку, чтобы использовать ее:

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-2.b17.el7_1.x86_64/jre/bin

Как я могу просто использовать следующую команду во всей моей среде вместо определения пути каждый раз?

keytool

Как мне это сделать?

2 ответа2

1

Одним из способов было бы создать символическую ссылку на любую папку в вашей переменной PATH, в этом примере мы используем /usr /bin /.

sudo ln -s /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-2.b17.el7_1.x86_64/jre/bin/keytool /usr/bin/keytool
1

Добавьте следующую строку в конец файла .bashrc (или .profile), который находится в вашем домашнем каталоге:

export PATH=$PATH:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-2.b17.el7_1.x86_64/jre/bin

Однако это очень хрупкий подход, так как он не будет работать так, как ожидалось, как только вы обновите свою установку Java. Если вы хотите сделать это более правильно, я предлагаю несколько способов:

загляните в папку /etc/alternatives , посмотрите, есть ли ссылка с именем java указывающая на текущую домашнюю страницу java (может указывать на другую ссылку). Если это так, измените строку экспорта на

export PATH=$PATH:/etc/alternatives/java

или (в зависимости от вашей системы) у вас может быть ссылка в /usr/lib/jvm , что-то вроде /usr/lib/jvm/java указывающая на самую последнюю версию jvm, которую вы установили. Если он есть, вы можете использовать этот, поэтому строка экспорта

export PATH=$PATH:/usr/lib/jvm/java

Кроме того, если вы хотите, чтобы он был общесистемным (вместо ограничения расширения пути для вашего пользователя), вы должны добавить строку в /etc/bashrc (или /etc/bash-bashrc если он там есть).

В заключение, это будет работать только во вновь созданных оболочках, а не в тех, которые у вас уже есть, если вы не введете команду

. ~/.bashrc

(или файл, который вы изменили, если это не .bashrc) в этих оболочках.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .