Tengo 2 Macs, un viejo iMac en mi estudio y un MacMini en mi taller. Tengo iTerm2 en ambos. El MacMini es nuevo y todavía estoy afinando la configuración. Uso zsh para mi shell en ambos y el mismo .zshenv en ambos. He hecho todo lo posible para asegurarme de que estoy usando la misma configuración de iTerm2 en ambos. El problema es que puedo configurar el prompt en .zshenv en mi iMac, pero el mismo .zshenv script no hace nada con el prompt en mi nuevo MacMini. (Y he cambiado el shell a zsh y he comprobado que lo he hecho). NO estoy usando Oh-my-zsh. Acabo de descubrirlo y puede que lo añada más tarde, pero este problema me irrita mucho y quiero arreglarlo.
Aquí está el código correspondiente:
PROMPT='%F{magenta}%B[%b%D %* %n@%m %1~%B]%b $ %f'
uname=`whoami`
if [[ "$uname" == "root" ]]; then
PROMPT='%F{red}%B[%b%D %* %n@%m %1~%B]%b $ %f'
fi
echo "Prompt = $PROMPT"
export LS_COLORS
echo "About to export prompt"
echo "Prompt = $PROMPT"
export PROMPT
Estoy recibiendo los siguientes comportamientos:
- Cuando abro una nueva ventana o pestaña, me informa del valor adecuado para $PROMPT desde el script. No cambia mi prompt de
%n@%m %1~ %#
. - Cuando compruebo el valor (después de la ejecución de .zshenv), sale
%n@%m %1~ %#
. - Si copio y pego la línea del script que establece el prompt, cambia el prompt a lo que quiero.
- Si escribo
./.zshenv
se ejecuta y obtengo DOBLE salida de los comandos echo, como si se ejecutara el script dos veces y no cambia el prompt. - Si escribo
source .zshenv
se ejecuta, no se repite la salida, y el prompt cambia. - Si copio la línea que define el prompt del archivo y la pego en el terminal, cambia el prompt.
- Cuando compruebo otros valores de variables y alias de .zshenv, se han importado al shell desde el script.
También acabo de comprobar en el programa normal de la terminal. No se me había ocurrido comprobarlo antes. También tengo los mismos comportamientos en el programa normal de terminal de Mac.
Este es el mismo script de mi antiguo Mac (que se ha mantenido al día con las actualizaciones regulares de Apple), pero se comporta de manera diferente en este Mac.