in

macos – ¿Dónde colocar las aserciones de la variable $ PATH en zsh?

apple touch icon@2

tl; versión dr: use ~/.zshrc

Y leer la página del manual para comprender las diferencias entre:

~/.zshrc, ~/.zshenv y ~/.zprofile.


En cuanto a mi comentario

En mi comentario adjunto a la respuesta que dio kev, dije:

Esto parece ser incorrecto: / etc / profile no aparece en ninguna documentación de zsh que pueda encontrar.

Esto resulta ser parcialmente incorrecto: /etc/profile mayo ser obtenido por zsh. Sin embargo, esto solo ocurre si zsh se invoca como sh o ksh«; en estos modos de compatibilidad:

Los scripts habituales de inicio / apagado de zsh no se ejecutan. Inicio de sesión shells source / etc / profile seguido de $ HOME / .profile. Si la variable de entorno ENV se establece en la invocación, $ ENV se obtiene después de los scripts de perfil. El valor de ENV está sujeto a expansión de parámetros, sustitución de comandos y expansión aritmética antes de ser interpretado como un nombre de ruta. [man zshall, «Compatibility»].

los Enlace ArchWiki ZSH dice:

Al iniciar sesión, Zsh obtiene los siguientes archivos en este orden:
/ etc / profile
Este archivo proviene de todos los shells compatibles con Bourne al iniciar sesión

Esto implica que /etc/profile es leer siempre por zsh al iniciar sesión: no tengo ninguna experiencia con el proyecto Arch Linux; la wiki puede ser correcta para esa distribución, pero es no generalmente correcto. La información es incorrecto en comparación con las páginas del manual de zsh, y no parece aplicarse a zsh en OS X (rutas en $PATH establecer en /etc/profile no llego a mis sesiones de zsh).


Para abordar la pregunta:

¿Dónde exactamente debería colocar mis adiciones de rvm, python, nodo, etc.a mi $ PATH?

Generalmente, exportaría mi $PATH de ~/.zshrc, pero vale la pena leer el zshall página de manual, específicamente la sección «ARCHIVOS DE INICIO / APAGADO» – ~/.zshrc se lee para interactivo conchas, que pueden o no adaptarse a sus necesidades, si desea $PATH para cada zsh shell invocado por usted (ambos interactive y no ambos login y no, etc), entonces ~/.zshenv es una mejor opción.

¿Hay un archivo específico que deba usar (es decir, .zshenv que no existe actualmente en mi instalación), uno de los que estoy usando actualmente, o incluso importa?

Hay un montón de archivos leídos al inicio (verifique el enlace man páginas), y hay una razón para eso: cada archivo tiene su lugar particular (configuraciones para cada usuario, configuraciones para usuarios específicos, configuraciones para shells de inicio de sesión, configuraciones para cada shell, etc.).
No te preocupes por ~/.zshenv no existe: si lo necesita, hágalo y se leerá.

.bashrc y .bash_profile están no Leído por zsh, a menos que los obtenga explícitamente de ~/.zshrc o similar; la sintaxis entre bash y zsh es no siempre compatible. Ambos .bashrc y .bash_profile están diseñados para bash ajustes, no zsh ajustes.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

desktop icon

Compilador Groovy en línea – Editor Groovy en línea – IDE Groovy en línea – Codificación Groovy en línea – Practique Groovy en línea – Ejecute Groovy en línea – Compile Groovy en línea

gfg 200x200 min

Operador ternario de Java con ejemplos