Question

Je suis en train de passer à zsh Bash.

Je mets mon .bashrc directement à mon .zshrc, et il a causé beaucoup d'erreurs lorsque je tente d'utiliser Bash à nouveau.

Comment exporter votre .bashrc à .zshrc?

Était-ce utile?

La solution

Alors que la réponse de lhunath m'a poussé dans la bonne direction, zsh ne semble pas .profile source automatiquement. Lot de bonnes informations sur ce sujet se trouve sur ce poste de super-utilisateur .

L'adaptation que je utilise est les alias et les fonctions communes dans .profile et les approvisionner manuellement comme suit:

.bashrc

source ~/.profile

.zshrc

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

Autres conseils

Vous ne pouvez pas " export " votre .bashrc à un .zshrc. .bashrc est un fichier qui exécute des commandes de bash. .zshrc est un fichier qui exécute des commandes de zsh.

Vous ne pouvez pas attendre zsh pour pouvoir exécuter les commandes de bash dans votre .bashrc, vous devez le convertir en une nouvelle .zshrc au lieu d'essayer d'exécuter .bashrc de .zshrc ou la copie du premier dans le second.

Si vous voulez un fichier d'initialisation du shell commun pour toutes vos coquilles; utiliser .profile (et supprimer .bashrc et .zshrc). Il est sourcé par tous les shells POSIX. Et là, le bâton aux fonctions shell POSIX uniquement . Ensuite, ce code sera exécuté dans une shell POSIX. (Bien que, je ne suis pas certain à 100% que zsh est conforme POSIX).

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

Bien - et je voudrais tout d'abord mal lu cette partie de votre question - vous ne devriez pas rencontrer des erreurs de bash lors de l'exécution de votre .bashrc sauf si vous mettez les commandes zsh là-dedans. As tu? Quelles erreurs obtenez-vous? Me semble que vous avez ajouté le code zsh dans votre .bashrc et bash (évidemment) ne comprend pas.

En aparté, ojblass essaie de faire un point de portabilité qui ne parvient en partie. zsh est une grande coquille (bien que je ne l'ai pas eu les honneurs moi-même), mais lors de l'écriture des scripts; Je vous recommande de le faire avec #!/usr/bin/env bash à la place. La plupart du temps juste pour votre propre (et éventuellement, les gens que vous partagez avec leur) cause de la portabilité.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top