Как определить местоположение команды?

Мне нужно использовать keytool , и я хочу использовать, возможно, самую новую версию. У меня есть на моем Ubuntu оракула JDK, и OpenJDK.

~$ java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)

Команда keytool расположена в двух местах:

~$ type -a keytool
keytool is /usr/bin/keytool
keytool is /usr/local/java/jdk1.7.0_25/bin/keytool
~$ file /usr/bin/keytool
/usr/bin/keytool: symbolic link to /etc/alternatives/keytool
~$ file /etc/alternatives/keytool
/etc/alternatives/keytool: symbolic link to /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/keytool

Как узнать, использую ли я /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/keytool или /usr/local/java/jdk1.7.0_25/bin/keytool?

2
задан 26 November 2013 в 17:01

3 ответа

Используйте вместо этого which.

$ which keytool
/usr/bin/keytool
0
ответ дан 26 November 2013 в 17:01

или вы можете использовать whereis, например:

whereis keytool

для расширенной информации, включая вывод which на первое место.

0
ответ дан 26 November 2013 в 17:01

Если команда управляется альтернативами, вы можете использовать:

update-alternatives --list keytool

, который выведет все зарегистрированные альтернативы. Это не простой поиск bin каталогов. Смотрите пример:

update-alternatives --list vi
0
ответ дан 26 November 2013 в 17:01

Другие вопросы по тегам:

Похожие вопросы: