J'écris un script qui installe Java sur une machine distante. Après avoir exécuté le fichier .bin pour le JRE, comment puis-je définir les alternatives --Config Java sans que l'utilisateur ne soit rien à entrer.
Par exemple, lorsque vous tapez "Alternatives --Config Java" Vous êtes invité à Sélectionnez la version Java que vous souhaitez. En raison de la façon dont j'ai installé Java ("/ USR / SBIN / SBIN / Alternatives --Install / USR / BIN / JAVA JAVA /LOCATION/OFD/JDK1.6/BIN/JAVA 2") L'option # "2" devrait toujours être la Java que je veux sélectionné. p>
Ainsi, à l'aide d'une exécution de la commande SSH, comment puis-je sélectionner la deuxième option pour les alternatives Java sans que l'utilisateur ait à choisir l'option. Je le veux complètement automatisé. P>
Ceci est dans un script Bash. P>
merci p>
ci-dessous est le code (fonctionne correctement maintenant): p>
5 Réponses :
Généralement, vous pouvez nourrir tout programme qui attend quelque chose sur l'entrée standard comme celle-ci:
echo -e "line 1\nline 2\nline 3" | program
ECHO 2 | ssh -p "35903" -Je $ home / sshids / iDrsa-1.old $ {1} "Alternatives --config Java"; est le code exact que j'ai utilisé et cela fonctionnait parfaitement. Merci
Je l'ai fait à l'aide de ce script: << / code> signifie que le contenu du fichier
$ TMP code> sera transmis à L'entrée de la commande alternatives. p>
Echo 2 | Sudo Alternatives --config Java Code> P> P>
Pourquoi pas seulement Echo 2 | Alternatives --Config Java Code>?
@Blagovest: Je vais essayer ce que vous avez suggéré maintenant.
Ceci 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'
Vous pouvez exécuter la commande alternatives code> non-interactive aussi. Au lieu de
- config code>, utilisez l'option
- définir code> pour spécifier le chemin de l'alternative directement.
sudo alternatives --set java /location/of/jdk1.6/bin/java
Utiliser Alternatives --Se B> devrait être la voie à suivre, au lieu d'essayer de passer une entrée à Alternatives --Config b>.
J'avais des versions Java en couple dans mon annuaire My / USR / LIB / JVM.
Mon script devait d'abord supprimer l'ancien symbole symbolique, en créer un nouveau, puis spécifier le chemin de l'alternative directement avec la mise à jour des alternatives (je n'ai pas réussi à faire fonctionner des alternatives sans mettre à jour - préfixe) mon système - Debian 8.11
Mon script: p>