J’essaie de passer à zsh de Bash.
J’ai mis mon .bashrc directement sur mon .zshrc, et cela a causé beaucoup d’erreurs quand j’essaie encore d’utiliser Bash.
Comment pouvez-vous exporter votre .bashrc vers .zshrc?
Alors que la réponse de lhunath m’a poussé dans la bonne direction, zsh ne semble pas .profile
automatiquement .profile
. Beaucoup de bonnes informations sur ce sujet peuvent être trouvées sur ce post de superutilisateur .
L’adaptation que j’utilise consiste à placer des alias et des fonctions communs dans .profile
et à les rechercher manuellement comme suit:
.bashrc
source ~/.profile
.zshrc
[[ -e ~/.profile ]] && emulate sh -c 'source ~/.profile'
Vous ne pouvez pas ” exporter ” votre .zshrc
.bashrc
vers un .zshrc
. .bashrc
est un fichier qui exécute les commandes bash
. .zshrc
est un fichier qui exécute les commandes zsh
.
Vous ne pouvez pas vous attendre à ce que zsh
puisse exécuter les commandes bash
dans votre .bashrc
, vous devriez donc le convertir en un nouveau .zshrc
au lieu d’essayer d’exécuter .bashrc
partir de .zshrc
ou de copier le premier dans ce dernier.
Si vous voulez un fichier d’initialisation de shell commun pour tous vos shells; utilisez .profile
(et supprimez .bashrc
et .zshrc
). Il provient de tous les shells POSIX. Et là, restz fidèle aux fonctionnalités du shell POSIX. Ensuite, ce code s’exécutera dans n’importe quel shell POSIX. (Cependant, je ne suis pas sûr à 100% que zsh
est conforme à POSIX).
Voir: http://mywiki.wooledge.org/DotFiles .
Bien que – et je vais d’abord mal interpréter cette partie de votre question – vous ne devriez pas rencontrer d’erreurs de bash
lors de l’exécution de .bashrc
sauf si vous y mettez des commandes zsh
. As tu? Quelles erreurs obtenez-vous? Il me semble que vous avez ajouté du code zsh
dans votre .bashrc
et que bash
(évidemment) ne comprend pas.
En ojblass
, ojblass
essaie de faire un sharepoint portabilité qui ne réussit que partiellement. zsh
est un excellent shell (même si je n’ai pas eu les honneurs moi-même), mais lors de l’écriture de scripts; Je vous recommande de le faire avec #!/usr/bin/env bash
place. Surtout juste pour votre propre intérêt (et éventuellement pour les personnes que vous partagez avec eux) en matière de portabilité.