He creado un script en Bash con la siguiente línea:
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home" 2> bash_errors.txt
También he hecho el archivo ejecutable
chmod 777 bash_test
Cuando ejecuto el script y verificación
java -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
Sin embargo si ejecuto directamente en Bash
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home"
Y, a continuación, compruebe
java -version
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)
Los cambios de ruta de acceso. Además, si puedo cambiar la secuencia de comandos de la línea a
sudo export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home" 2> bash_errors.txt
Me sale el siguiente en la bash_errors.txt
archivo
sudo: export: command not found
Así que yo sé que el script se está ejecutando, pero JAVA_HOME no cambia cuando se ejecuta desde el script.
Lo que no estoy entendiendo? ¿Cómo puedo cambiar la variable de entorno JAVA_HOME a partir de un guión?
Mi objetivo es permanentemente cambiar de entorno JAVA_HOME de 8 a 7 - estoy al final va a agregar .bash_profile para mi directorio predeterminado.
Editar
Tratando de cambiar los archivos mencionados en los vínculos de referencia que son de sólo lectura, incluso mediante el uso de sudo vim
: