J'ai mis à jour mon shell à ZSH. Quand je source ~/.bashrc. Je reçois cette erreur
Il y a eu une erreur chez votre médecin. quand j'exécute cette commande
echo "export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules" >> ~/.bashrc && source ~/.bashrc
/home/amerrnath/.bashrc:17: command not found: shopt
/home/amerrnath/.bashrc:25: command not found: shopt
/home/amerrnath/.bashrc:109: command not found: shopt
/usr/share/bash-completion/bash_completion:35: parse error near
]]'
S'il vous plaît aidez-moi à résoudre ce problème
zsh utilise le profil env ~/.zshrc
, pas ~/.bashrc
.
vous devez donc ajouter vos paramètres env au fichier .zshrc, puis
source ~/.zshrc
Ça doit marcher.
Pour placer quelque chose dans ~/.bashrc:
Basculer vers le bash:
exec bash
Ensuite
source ~/.bashrc
Le passage à bash n’affectera pas la nouvelle fenêtre du terminal. Mais si vous voulez basculer la fenêtre actuelle vers zsh.
Basculer vers zsh:
exec zsh
shopt
n'est pas une commande, mais un shell intégré. bash
sait quoi en faire car c'est un bash
intégré, mais zsh n'a aucune idée de ce que c'est. Vous voudrez examiner setopt
qui est un zsh
intégré et insérer ces valeurs dans un nouveau script .zshrc.
Votre fichier bashrc
a été écrit pour bash
. zsh
n'est pas bash
.
Je suis surpris que zsh
essaie de charger votre .bashrc
du tout.
Si ce n'est pas le cas et que vous le recherchez manuellement (à partir de .profile
ou similaire). Arrêter de faire ça.
Ensuite, vous écrivez un fichier zsh
init approprié à la place.
Si vous voulez utiliser zsh
, vous devez utiliser zsh
et non bash
.
shopt
est un bash-isme.
[[
est un bash-isme.
Pour une raison quelconque, après la mise à niveau de 16.04 à 17.10 et à 18.04, le lien symbolique/bin/sh a été défini sur dash not bash. Mise à jour de ce lien:
Sudo cd /bin && ln -sf bash sh
résolu ce problème pour moi