Sie können alternatives
ausführen Befehl auch nicht interaktiv. Statt --config
, verwenden Sie den --set
Möglichkeit, den Pfad der Alternative direkt anzugeben.
sudo alternatives --set java /location/of/jdk1.6/bin/java
Im Allgemeinen können Sie jedes Programm, das etwas auf der Standardeingabe erwartet, wie folgt füttern:
echo -e "line 1\nline 2\nline 3" | program
Ich habe es mit diesem Skript gemacht:
tmp=`mktemp`
echo 2 > $tmp
alternatives --config java < $tmp
rm -f $tmp
Die <
bedeutet, dass der Inhalt der $tmp
Datei wird an die Eingabe des Alternatives-Befehls übergeben.
Bearbeiten: Sie könnten einfach eine einzelne Pipe verwenden, wie von anderen vorgeschlagen:
echo 2 | sudo alternatives --config java
Das hat bei mir mit Java 8 funktioniert:
alternatives --install /usr/bin/java java /usr/lib/jvm/jre1.8.0_60/bin/java 3
alternatives --config java <<< '3'