10

如何获取我正在使用的命令的完整路径?

例如,我已经将 jdk 安装到/opt/Oracle/jdk1.7.0_25中,我的PATH样子是这样的:

/opt/Oracle/jdk1.7.0_25/bin/:/usr/lib/x86_64-linux-gnu/qt4/bin:/home/unimous/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games. 

我想/opt/Oracle/jdk1.7.0_25/bin/javajava.

4

3 回答 3

14
which java

应该给你完整的路径。

这也适用于 Linux 中的任何其他命令,只需使用which command_name.

于 2013-09-04T05:42:04.850 回答
0

这取决于您的发行版,在 debian 和基于 debian 的发行版中,您有更新替代品

例如,对于您的 java,您可以这样做:

update-alternatives --install "/usr/bin/java" "java" "/opt/Oracle/jdk1.7.0_25/bin/java" 3

Help section on update-alternatives 

update-alternatives: --install needs <link> <name> <path> <priority>

Usage: update-alternatives [<option> ...] <command>

Commands:
  --install <link> <name> <path> <priority>
    [--slave <link> <name> <path>] ...
                           add a group of alternatives to the system.
  --remove <name> <path>   remove <path> from the <name> group alternative.
  --remove-all <name>      remove <name> group from the alternatives system.
  --auto <name>            switch the master link <name> to automatic mode.
  --display <name>         display information about the <name> group.
  --query <name>           machine parseable version of --display <name>.
  --list <name>            display all targets of the <name> group.
  --get-selections         list master alternative names and their status.
  --set-selections         read alternative status from standard input.
  --config <name>          show alternatives for the <name> group and ask the
                           user to select which one to use.
  --set <name> <path>      set <path> as alternative for <name>.
  --all                    call --config on all alternatives.

<link> is the symlink pointing to /etc/alternatives/<name>.
  (e.g. /usr/bin/pager)
<name> is the master name for this link group.
  (e.g. pager)
<path> is the location of one of the alternative target files.
  (e.g. /usr/bin/less)
<priority> is an integer; options with higher numbers have higher priority in
  automatic mode.

Options:
  --altdir <directory>     change the alternatives directory.
  --admindir <directory>   change the administrative directory.
  --log <file>             change the log file.
  --force                  allow replacing files with alternative links.
  --skip-auto              skip prompt for alternatives correctly configured
                           in automatic mode (relevant for --config only)
  --verbose                verbose operation, more output.
  --quiet                  quiet operation, minimal output.
  --help                   show this help message.
  --version                show the version.
于 2013-09-04T11:35:22.223 回答
0

如果你在 bash 中:

type java

type 是内置的,通常是单独的可执行文件:

$ type type
type is a shell builtin
$ type which
which is hashed (/usr/bin/which)
于 2013-09-04T16:03:05.223 回答