sí, ¿se obtiene automáticamente cada vez que se abre la terminal?
i3wangyi
Respuestas:
104
Sí, se llama ~/.zshenv.
Así es como me $JAVA_HOMEinstalé ~/.zshenv:
export JAVA_HOME="$(/usr/libexec/java_home)"
Sin embargo, tenga en cuenta que zsh no es bash, por lo que el hecho de que tenga que obtener su fuente .bash_profilecada vez que abra una terminal no significa que tenga que hacer eso con zsh. Con zsh, solo tengo que volver a obtener mi ~/.zshenvcuando le hago cambios , y luego solo para los terminales que ya están abiertos : los nuevos terminales ya deberían haber obtenido mi nuevo y mejorado ~/.zshenv.
NOTA
A menudo lo encuentro útil cuando trato de determinar en cuál de mis archivos de inicio de zsh debo colocar cosas para consultar los archivos de inicio de zsh .
En realidad, .zprofiletiene un significado más cercano .bash_profile, ya que ambos solo provienen de sus respectivos shells para los shells de inicio de sesión. .zshenvse ejecuta para todas las instancias de zsh, sean o no shells de inicio de sesión.
chepner
6
@chepner .zshenves donde se deben definir todas las variables de entorno. Vea aquí
Alexej Magura
3
Convenido; .bash_profiletiene que hacer para bashlo que .zshenvy .zprofile/.zloginjuntos hacemos zsh. Ese enlace proporciona buena información sobre qué debería ir y dónde.
chepner
31
Sé que esta es una pregunta antigua, pero recientemente actualicé MacOs a Catalina, lo que cambió el shell predeterminado de bash a zsh.
Use el comando como este para asegurarse de que el archivo se cree en el directorio de inicio de los usuarios:echo source ~/.bash_profile > ~/.zshenv
Smair
¿Es echoimportante el uso de aquí? ¿Qué hace eso?
QA Sam
3
@QASam, el eco es imprescindible aquí, X > Ysolo pasa lo que X produjo. Sin eco, no se emite nada.
James LoveLady
3
Recientemente, con la actualización a Catalina OS desde Mac, por defecto cambia para ejecutar Z shell que usa el archivo zshrc como recurso Z-shell, usualmente teníamos bash_profile dentro del directorio de inicio del usuario, la solución es simplemente
copie el contenido de bash_profile abriendo> vim ~ / .bash_profile
crear zshrc por> vim ~ / .zshrc
copiar el contenido de bash_profile en zsrc
Abra una nueva ventana de terminal y ejecute su alias / script anterior debería funcionar sin problemas
Respuestas:
Sí, se llama
~/.zshenv
.Así es como me
$JAVA_HOME
instalé~/.zshenv
:export JAVA_HOME="$(/usr/libexec/java_home)"
Sin embargo, tenga en cuenta que zsh no es bash, por lo que el hecho de que tenga que obtener su fuente
.bash_profile
cada vez que abra una terminal no significa que tenga que hacer eso con zsh. Con zsh, solo tengo que volver a obtener mi~/.zshenv
cuando le hago cambios , y luego solo para los terminales que ya están abiertos : los nuevos terminales ya deberían haber obtenido mi nuevo y mejorado~/.zshenv
.NOTA
A menudo lo encuentro útil cuando trato de determinar en cuál de mis archivos de inicio de zsh debo colocar cosas para consultar los archivos de inicio de zsh .
fuente
.zprofile
tiene un significado más cercano.bash_profile
, ya que ambos solo provienen de sus respectivos shells para los shells de inicio de sesión..zshenv
se ejecuta para todas las instancias dezsh
, sean o no shells de inicio de sesión..zshenv
es donde se deben definir todas las variables de entorno. Vea aquí.bash_profile
tiene que hacer parabash
lo que.zshenv
y.zprofile/.zlogin
juntos hacemoszsh
. Ese enlace proporciona buena información sobre qué debería ir y dónde.Sé que esta es una pregunta antigua, pero recientemente actualicé MacOs a Catalina, lo que cambió el shell predeterminado de bash a zsh.
Terminé haciendo esto:
echo source ~/.bash_profile > ~/.zshenv && source ~/.zshenv
Para tener la fuente zsh de mi .bash_profile original.
fuente
echo source ~/.bash_profile > ~/.zshenv
echo
importante el uso de aquí? ¿Qué hace eso?X > Y
solo pasa lo que X produjo. Sin eco, no se emite nada.Recientemente, con la actualización a Catalina OS desde Mac, por defecto cambia para ejecutar Z shell que usa el archivo zshrc como recurso Z-shell, usualmente teníamos bash_profile dentro del directorio de inicio del usuario, la solución es simplemente
Abra una nueva ventana de terminal y ejecute su alias / script anterior debería funcionar sin problemas
fuente
Otra alternativa simple para continuar usando su .bash_profile es agregar este archivo a su archivo .zshrc:
con esta sencilla solución puedes seguir agregando tu .bash_prifile si te gusta zhs.
Añadiendo .bash_profile
fuente
En Mac Catalina, la terminal usa zsh. En lugar de tener .bash_profile, es bueno tener .zshenv y escribir su script allí.
Cuando abre el terminal la próxima vez, se ejecutan los scripts dentro de .zshenv.
fuente