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


1

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

./keytool

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

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

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

keytool

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


Ответы:


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) в этих оболочках.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.