Vous pouvez exécuter le alternatives commande non interactive aussi. Au lieu de --config , utilisez le --set option pour spécifier directement le chemin de l'alternative.
sudo alternatives --set java /location/of/jdk1.6/bin/java
Généralement, vous pouvez alimenter n'importe quel programme qui attend quelque chose sur l'entrée standard comme ceci :
echo -e "line 1\nline 2\nline 3" | program
Je l'ai fait en utilisant ce script :
tmp=`mktemp`
echo 2 > $tmp
alternatives --config java < $tmp
rm -f $tmp
Le < signifie que le contenu du $tmp fichier sera passé à l'entrée de la commande alternatives.
Modifier : Vous pouvez simplement utiliser un seul tuyau comme d'autres suggéré :
echo 2 | sudo alternatives --config java
Cela a fonctionné pour moi avec Java 8 :
alternatives --install /usr/bin/java java /usr/lib/jvm/jre1.8.0_60/bin/java 3
alternatives --config java <<< '3'