No dejes que este odiador de zsh te deprima. ¡Zsh es genial!
Jeremy Cantrell
Respuestas:
109
Si bien la respuesta de lhunath me empujó en la dirección correcta, zsh no parece originarse .profileautomáticamente. Se puede encontrar mucha buena información sobre este tema en esta publicación de superusuario .
La adaptación que estoy usando es poner alias y funciones comunes y obtenerlos .profilemanualmente de la siguiente manera:
En ~/.bashrc:
source ~/.profile
En ~/.zshrc:
[[ -e ~/.profile ]] && emulate sh -c 'source ~/.profile'
emulatees un comando incorporado de zsh. Con un solo argumento, configure las opciones de zsh para emular el shell especificado tanto como sea posible.
Sí, creo que este es el mejor enfoque. ¡Gracias por su respuesta!
Léo Léopold Hertz 준영
la respuesta anterior también funciona bien para mí. pero tengo que hacer esto cada vez que abro la terminal zshrc. ¿Puedes decirme cómo corregir esto?
thedudecodes
32
No puede " exportar " su .bashrca .zshrc. .bashrces un archivo que ejecuta bashcomandos. .zshrces un archivo que ejecuta zshcomandos.
No se puede esperar zsha ser capaz de ejecutar los bashcomandos en su .bashrc, por lo que debe convertirlo en un nuevo .zshrclugar de tratar de ejecutar .bashrcdesde .zshrco copiar el primero en el segundo.
Si desea un archivo de inicialización de shell común para todos sus shells; usar .profile(y quitar .bashrcy .zshrc). Se obtiene de todos los shells POSIX. Y allí, se adhieren a shell POSIX cuenta única . Entonces ese código se ejecutará en cualquier shell POSIX. (Sin embargo, no estoy 100% seguro de que zshsea compatible con POSIX).
Sin embargo, y primero leí mal esta parte de su pregunta, no debería experimentar errores bashal ejecutar su a .bashrcmenos que ponga zshcomandos allí. ¿Tuviste? ¿Qué errores está recibiendo? Me parece que ha agregado zshcódigo a su .bashrcy bash(obviamente) no lo entiende.
Como acotación al margen, ojblassintenta hacer un punto de portabilidad que solo tiene éxito en parte. zshes un gran caparazón (aunque yo no he tenido los honores), pero al escribir guiones; Te recomiendo que lo hagas con #!/usr/bin/env bash. Principalmente solo por su propio (y eventualmente, las personas que comparte con ellos) en aras de la portabilidad.
Mire la declaración "Puse mi .bashrc directamente en mi .zshrc, y causó muchos errores cuando intento usar Bash de nuevo". ahora piensa por un momento qué podría causar eso ... y luego reformula tu publicación.
Respuestas:
Si bien la respuesta de lhunath me empujó en la dirección correcta, zsh no parece originarse
.profile
automáticamente. Se puede encontrar mucha buena información sobre este tema en esta publicación de superusuario .La adaptación que estoy usando es poner alias y funciones comunes y obtenerlos
.profile
manualmente de la siguiente manera:En
~/.bashrc
:source ~/.profile
En
~/.zshrc
:[[ -e ~/.profile ]] && emulate sh -c 'source ~/.profile'
emulate
es un comando incorporado de zsh. Con un solo argumento, configure las opciones de zsh para emular el shell especificado tanto como sea posible.fuente
No puede " exportar " su
.bashrc
a.zshrc
..bashrc
es un archivo que ejecutabash
comandos..zshrc
es un archivo que ejecutazsh
comandos.No se puede esperar
zsh
a ser capaz de ejecutar losbash
comandos en su.bashrc
, por lo que debe convertirlo en un nuevo.zshrc
lugar de tratar de ejecutar.bashrc
desde.zshrc
o copiar el primero en el segundo.Si desea un archivo de inicialización de shell común para todos sus shells; usar
.profile
(y quitar.bashrc
y.zshrc
). Se obtiene de todos los shells POSIX. Y allí, se adhieren a shell POSIX cuenta única . Entonces ese código se ejecutará en cualquier shell POSIX. (Sin embargo, no estoy 100% seguro de quezsh
sea compatible con POSIX).Ver: http://mywiki.wooledge.org/DotFiles .
Sin embargo, y primero leí mal esta parte de su pregunta, no debería experimentar errores
bash
al ejecutar su a.bashrc
menos que pongazsh
comandos allí. ¿Tuviste? ¿Qué errores está recibiendo? Me parece que ha agregadozsh
código a su.bashrc
ybash
(obviamente) no lo entiende.Como acotación al margen,
ojblass
intenta hacer un punto de portabilidad que solo tiene éxito en parte.zsh
es un gran caparazón (aunque yo no he tenido los honores), pero al escribir guiones; Te recomiendo que lo hagas con#!/usr/bin/env bash
. Principalmente solo por su propio (y eventualmente, las personas que comparte con ellos) en aras de la portabilidad.fuente