Puoi eseguire alternatives
comando anche in modo non interattivo. Invece di --config
, usa il --set
opzione per specificare direttamente il percorso dell'alternativa.
sudo alternatives --set java /location/of/jdk1.6/bin/java
In generale, puoi alimentare qualsiasi programma che si aspetta qualcosa sullo standard input in questo modo:
echo -e "line 1\nline 2\nline 3" | program
L'ho fatto usando questo script:
tmp=`mktemp`
echo 2 > $tmp
alternatives --config java < $tmp
rm -f $tmp
Il <
significa che il contenuto del $tmp
verrà passato all'input del comando alternatives.
Modifica: Potresti semplicemente usare una singola pipe come suggerito da altri:
echo 2 | sudo alternatives --config java
Questo ha funzionato per me con Java 8:
alternatives --install /usr/bin/java java /usr/lib/jvm/jre1.8.0_60/bin/java 3
alternatives --config java <<< '3'