No indicas cómo has comprobado exactamente que la ruta está realmente al principio de $PATH - pero en general deberías saber que MacOS Catalina ha cambiado el shell por defecto de bash a zsh - y como tal tendrás que trasladar cualquier modificación que hayas hecho a PATH en .bashrc (por ejemplo) al archivo correspondiente para zsh (por ejemplo .zshrc, .zshenv o .zprofile).
La forma "estándar" de añadir rutas en MacOS es crear un archivo en /etc/paths.d/ que contenga la ruta del directorio que quieres añadir a la ruta. Entonces, cuando lances cualquier shell, debería añadirse automáticamente a tu variable de entorno PATH. Por ejemplo, cree un archivo llamado
/etc/paths.d/wgroleau
Y haz que contenga sólo la siguiente línea de texto:
/Users/wgroleau/bin
Esto cambiaría las rutas por defecto del sistema para incluir ese directorio.
ACTUALIZACIÓN: Siguiendo tus comentarios estoy empezando a pensar que tu problema podría no estar relacionado con el PATH en absoluto. Afirmas que los problemas que experimentas giran en torno a scripts que has escrito tú mismo. Si esos scripts resultan ser bash-scripts que comienzan con un shebang para bash, entonces esos scripts necesitan ser convertidos a zsh para funcionar si no tienes bash instalado - o alternativamente podrías instalar bash de nuevo desde HomeBrew o desde Apple.
0 votos
¿Cómo ha comprobado el contenido de su variable de entorno PATH? (por ejemplo, ¿comprobó desde un prompt de zsh? - etc)
0 votos
¿Qué pasa si escribes ?
typeset -U path
y luegopath=(~/bin $path)
? Probablemente añadiría esto en el archivo~/.zprofile
.0 votos
Normalmente utilizo
$HOME/bin
en lugar de~/bin
ya que evita los errores típicos, como citar"~/bin
", que no funciona mientras"$HOME/bin"
lo hace.0 votos
@user3439894, lo intentaré. Sin embargo, ~/bin funciona en bash. Aparentemente las afirmaciones de compatibilidad con versiones anteriores de zsh son muy exageradas.
0 votos
¿Puedes añadir el resultado de la eco y ¿copiar/pegar el mensaje de error completo que te aparece?
0 votos
Citando a
~
Por ejemploecho "~"
enbash
devolverá~
¡! Sin citarlo, por ejemploecho ~
devolverá, por ejemplo/Users/wgroleau
y lo mismo ocurre enzsh
Por lo tanto, no hay ningún problema de compatibilidad con el pasado. Además, en su "Después de poner" tienePATH="~/bin:$PATH
al que le falta una comilla de cierre, lo que también provoca un error.0 votos
Utilice siempre "$HOME". Nunca use "~". Independientemente de su $SHELL. Además, yo declararía tu PATH en ~/.zshenv y no en ~/.zshrc pero eso es más que nada una preferencia personal.