En mis .bash_profile Tengo las siguientes líneas:cómo editar variable de ruta en ZSH
PATHDIRS="
/usr/local/mysql/bin
/usr/local/share/python
/opt/local/bin
/opt/local/sbin
$HOME/bin"
for dir in $PATHDIRS
do
if [ -d $dir ]; then
export PATH=$PATH:$dir
fi
done
Sin embargo he intentado copiar esto a mi .zshrc, y no se está estableciendo la $PATH
.
Primero puse echo
declaraciones dentro de la función "si el directorio existe" y encontré que la instrucción if se evaluaba como falsa, incluso para directorios que claramente existían.
Luego retira el directorio existe cheque y el $PATH
se ajuste incorrecto de la siguiente manera:
/usr/bin:/bin:/usr/sbin:/sbin:
/usr/local/bin
/opt/local/bin
/opt/local/sbin
/Volumes/Xshare/kburke/bin
/usr/local/Cellar/ruby/1.9.2-p290/bin
/Users/kevin/.gem/ruby/1.8/bin
/Users/kevin/bin
Ninguno de los programas en los directorios inferiores estaban siendo encontrado o ejecutados.
¿Qué estoy haciendo mal?
+1 - Dos consejos rápidos adicionales útiles para la manipulación '$ PATH' en' zsh' (para quien pasa): * (1) * para anteponer en lugar de append: 'ruta [1,0] =/ruta/to/dir', y * (2) * si está usando globbing para encontrar los directorios, no tiene que usar un ciclo for y en su lugar simplemente haga 'path + = ($ PWD/node_modules/**/bin ') (también funciona con * (1) *). – unthought
Gracias, utilicé su sugerencia, con path = ($^path (N- /)). ¿Hay alguna forma de garantizar que los mismos directorios no se dupliquen en $ PATH cada vez que ejecuto source ~/.zshrc? Gracias – stansult
@stansult [¿Hay alguna forma de agregar un directorio a mi PATH en zsh solo si no está presente?] (Http://unix.stackexchange.com/questions/62579/is-there-a-way- to-add-a-directory-to-my-path-in-zsh-only-if-its-not-already-pre) – Gilles