Ubuntu 18.04.6 LTS
Bash 4.4.0
Am 4 versiuni de java pe cutia mea Linux. De asemenea, am mai multe servere de jocuri MC care rulează pe această cutie. Când rulez anumite servere care necesită Java 8, indică Java 8 astfel:
#!/bin/bash
java="/usr/lib/jvm/java-8-openjdk-amd64/bin"
Când rulez anumite servere care necesită Java 16, indică Java 16 astfel:
#!/bin/bash
java="/usr/lib/jvm/java-16-oracle/bin"
Deci, în încercarea de a importa corect aceste versiuni de java în variabile, am editat fișierul /etc/profile și tot de la #== Java 7 iar mai jos este adăugat de mine:
# /etc/profile: fișier .profile la nivel de sistem pentru shell-ul Bourne (sh(1))
# și shell-uri compatibile Bourne (bash(1), ksh(1), ash(1), ...).
dacă [ "${PS1-}" ]; atunci
if [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ]; atunci
# Fișierul bash.bashrc setează deja PS1 implicit.
# PS1='\h:\w\$ '
dacă [ -f /etc/bash.bashrc ]; atunci
. /etc/bash.bashrc
fi
altfel
if [ "`id -u`" -eq 0 ]; atunci
PS1='# '
altfel
PS1='$ '
fi
fi
fi
dacă [ -d /etc/profile.d ]; atunci
pentru eu în /etc/profile.d/*.sh; do
dacă [ -r $i ]; atunci
. $i
fi
Terminat
dezinstalat i
fi
#== Java 7
#== ======
JAVA7=/usr/lib/jvm/zulu7-ca-amd64
PATH=$PATH:$HOME/bin:$JAVA7/bin
#== Java 8
#== ======
JAVA8=/usr/lib/jvm/java-8-openjdk-amd64
PATH=$PATH:$HOME/bin:$JAVA8/bin
#== Java 11
JAVA11=/usr/lib/jvm/java-11-openjdk-amd64
PATH=$PATH:$HOME/bin:$JAVA11/bin
#== Java 16
JAVA16=/usr/lib/jvm/java-16-oracle
PATH=$PATH:$HOME/bin:$JAVA16/bin
export JAVA7
export PATH
export JAVA8
export PATH
export JAVA11
export PATH
export JAVA16
export PATH
Dacă acest lucru este corect când folosesc JAVA16 într-un script, cum îl apelez în scriptul meu de pornire?