update-alternatives --install说它需要链接名称路径优先级吗?


36

我输入:

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/ jdk1.8.0/bin/java" 1

说替代方法--install需要链接名称路径优先级


1
到底要输入什么?请注意标点符号(例如破折号)和空格
steeldriver 2014年

@steeldriver是否可以解释链接名称路径优先级。如果没有像“ / user / bin / java /”这样的链接,那么会导致错误的结果吗?
Swapnil 2014年

1
它应该创建链接(如果没有当前组,则创建名称)。AFAIK唯一必须预先存在的是路径组件,即-但请注意(如您的问题所述),您的空间中有一个空格-因此,我的第一个评论。java/etc/alternatives/usr/lib/jvm/jdk1.8.0/bin/java
steeldriver

@steeldriver是的/ usr / lib / jvm / bin / java /可用。我尝试了sudo update-alternatives -安装“ /usr/bin/java”“java”“/usr/lib/jvm/jdk1.8.0.05/bin/java” 1
Swapnil

1
您在--和单词之间留有空格install吗?如果是这样,那就不要-它必须是--install。同样,引号也没有必要,只是sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0.05/bin/java 1
steeldriver 2014年

Answers:


52

您是否在-和install一词之间留出空格?如果是这样,那就不要-它必须是--install

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0.05/bin/java 1

没有必要使用引号,因为所有元素都没有嵌入空格-尽管它们不会造成任何伤害。


1
另外,请记住,此处不接受相对路径,您必须使用绝对路径。
Bruno Finger '18

优先级数字的范围是多少?
christianbueno.9

7

命令sintax是

alternatives --install <link> <name> <path> <priority>

如果参数中没有空格,则不需要引号。

在您的情况下:

alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0/bin/java 1

注意:jdk之前的路径中确实有空格吗?


3

这是因为此命令维护符号链接。我建议执行man update-alternatives以获取有关该命令的更多信息。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.