¿Cómo puede exportar su.bashrc a.¿zshrc?


Estoy tratando de pasar a zsh desde Bash.

Pongo mi .bashrc directamente a mi .zshrc, y causó muchos errores cuando intento usar Bash de nuevo.

¿Cómo puede exportar su .bashrc a .¿zshrc?

Author: Léo Léopold Hertz 준영, 2009-04-19

2 answers

Mientras que la respuesta de lhunath me empujó en la dirección correcta, zsh no parece obtener .profile automáticamente. Muchos de buena información sobre este tema se puede encontrar en este superusuario post.

La adaptación que estoy usando es poner alias y funciones comunes en .profile y obtenerlos manualmente de la siguiente manera:

.bashrc

source ~/.profile

.zshrc

[[ -e ~/.profile ]] && emulate sh -c 'source ~/.profile'

 59
Author: Ryne Everett,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-20 10:18:21

No puedes " exportar" tu .bashrc a un .zshrc. .bashrc es un archivo que ejecuta comandos bash. .zshrc es un archivo que ejecuta comandos zsh.

No puede esperar que zsh pueda ejecutar los comandos bash en su .bashrc, por lo que debe convertirlo en un nuevo .zshrc en lugar de intentar 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, use .profile (y elimine .bashrc y .zshrc). Se obtiene por todos los proyectiles POSIX. Y allí, se adhieren a POSIX shell features solo. Entonces ese código se ejecutará en cualquier shell POSIX. (Sin embargo, no estoy 100% seguro de que zsh es compatible con POSIX).

Ver: http://mywiki.wooledge.org/DotFiles.

Aunque - y primero malinterpretaría esta parte de su pregunta - no debería experimentar errores de bash al ejecutar su .bashrc a menos que ponga zsh comandos allí. ¿Lo hiciste? ¿Qué errores estás obteniendo? Suena a yo como usted ha añadido zsh código en su .bashrc y bash (obviamente) no entiende.

Como un aparte, ojblass trata de hacer un punto de portabilidad que solo tiene éxito en parte. zsh es un gran shell (aunque yo no he tenido los honores), pero al escribir scripts; te recomiendo que lo hagas con #!/usr/bin/env bash en su lugar. En su mayoría solo para su propio (y, finalmente, las personas que comparte con su) por el bien de la portabilidad.

 22
Author: lhunath,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-04-19 14:09:26