iTerm2 ejecuta mi .zshrc dos veces

Al iniciar un terminal en iTerm 2, mi .zshrc se ejecuta dos veces. ¿Posiblemente tiene algo que ver con el "último inicio de session" impreso en la parte superior de la terminal por iTerm? ¿Alguien sabe cómo arreglar esto?

Ejemplo de salida, nueva terminal:

  • Tecla F9 con BYOBU
  • Escribir en el enrutador de routing: no en la tabla, ¿Por qué?
  • ¿Dónde está la opción de desactivar la window de confirmación de iTerm2 en Cerrar session?
  • iTerm2 aplica un color extraño al valor pnetworkingeterminado de vim
  • Arrastrar y soltar un file en una window de Terminal no escapa a la ruta bajo zsh 5.2
  • Cómo saber qué aplicación de terminal (iTerm o Terminal) se ejecuta desde dentro de bash
  •   último inicio de session: miércoles 4 de marzo, 12:55:35 en ttys000
    
     La marca de una buena fiesta es que te despiertas a la mañana siguiente queriendo
     cambia tu nombre y comienza una nueva vida en una ciudad diferente.
             - Vance Bourjaily, "Esquire"
    
     Nunca se sabe lo que es suficiente hasta que sepa lo que es más que suficiente.
             -- William Blake
    
     ~ ❯❯❯ zsh
    
     Oh, el amor es lo suficientemente real, lo encontrarás algún día, pero tiene uno
     archienemigo - y eso es la vida.
             - Jean Anouilh, "Ardele"
    
     ~ ❯❯❯
    

    Como puede ver, al abrir iTerm fortuna (en mi .zshrc) se ejecuta dos veces, pero cuando se inicia un nuevo shell con el terminal ya abierto, se ejecuta correctamente una vez. ¿Alguna forma de corregir este comportamiento?

  • ¿Por qué mi iTerm2 se inicia con una X en su path?
  • Cambiar el título de una connection ssh sin modificar las máquinas remotas
  • ¿Cómo abre Sublime el file con cmd y hace clic en su ruta en Terminal?
  • abra la console desplegable iTerm en otra pantalla
  • Dentro del terminal, el command `date` da como resultado un curioso prefijo donde debería estar
  • ¿Cómo copio al portapapeles OSX desde un shell remoto usando iTerm2?
  • One Solution collect form web for “iTerm2 ejecuta mi .zshrc dos veces”

    Gran parte de esto depende de la configuration que haya realizado en ITerm y la configuration de shells.

    Por defecto iTerm ejecuta el shell en / etc / passwd como un shell de inicio de session. Por defecto, el shell es bash pero el usuario lo ha cambiado a zsh

    zsh tiene varios files que se usan al inicio. Ver zsh manual $ ZDOTDIR es por defecto su directory de inicio

    Los commands se leen por primera vez de / etc / zshenv; esto no puede ser anulado. … …

    Los commands se leen desde $ ZDOTDIR / .zshenv. Si el shell es un shell de inicio de session, los commands se leen desde / etc / zprofile y luego $ ZDOTDIR / .zprofile. Luego, si el shell es interactivo, los commands se leen desde / etc / zshrc y luego $ ZDOTDIR / .zshrc. Finalmente, si el shell es un shell de inicio de session, se leen / etc / zlogin y $ ZDOTDIR / .zlogin.

    Por lo tanto, cuando los elementos inicien un shell de inicio de session (y no asumn ningún file global en / tc), los siguientes files son originados

    /etc/zshenv ~/.zshenv ~/.zprofile ~/.zshrc ~/.zlogin 

    Si zsh se inicia desde un intérprete de commands del shell, no es un shell de inicio de session, por lo que solo se lee

     /etc/zshenv ~/.zshenv ~/.zshrc 

    Si obtiene un comportamiento diferente en los dos casos, mire su ~ / .zprofile y ~ / .zlogin.

    En este caso, uno de ellos probablemente está obteniendo ~ / .zshrc. Tenga en count que esto difiere de bash donde un shell de inicio de session lee ~ / .bash_profile y un shell que no es de inicio de session lee ~ / .bash_profile y este el uso normal de bash es para get ~ / .bashrc en ~ /, bash_profile para detener la necesidad de duplicar código.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).