Ich versuche, von Bash nach zsh zu ziehen.
Ich habe meine .bashrc direkt in meine .zshrc gestellt und es hat viele Fehler verursacht, wenn ich versuche, Bash erneut zu verwenden.
Wie können Sie Ihre .bashrc nach .zshrc exportieren?
Ich versuche, von Bash nach zsh zu ziehen.
Ich habe meine .bashrc direkt in meine .zshrc gestellt und es hat viele Fehler verursacht, wenn ich versuche, Bash erneut zu verwenden.
Wie können Sie Ihre .bashrc nach .zshrc exportieren?
Antworten:
Während lhunaths Antwort mich in die richtige Richtung drängte, scheint zsh nicht .profile
automatisch zu beschaffen . Viele gute Informationen zu diesem Thema finden Sie in diesem Superuser-Beitrag .
Die Anpassung, die ich verwende, besteht darin, allgemeine Aliase und Funktionen einzufügen .profile
und sie manuell wie folgt zu beschaffen:
In ~/.bashrc
:
source ~/.profile
In ~/.zshrc
:
[[ -e ~/.profile ]] && emulate sh -c 'source ~/.profile'
emulate
ist ein eingebauter zsh-Befehl. Richten Sie mit einem einzigen Argument zsh-Optionen ein, um die angegebene Shell so weit wie möglich zu emulieren.
Sie können Ihre nicht in eine " exportieren " . ist eine Datei, die Befehle ausführt. ist eine Datei, die Befehle ausführt..bashrc
.zshrc
.bashrc
bash
.zshrc
zsh
Sie können nicht erwarten zsh
können , die ausgeführt werden bash
Befehle in .bashrc
, so dass Sie sie in eine neue umwandeln sollte , .zshrc
anstatt zu versuchen zu laufen .bashrc
aus .zshrc
oder Kopieren der ersteren in die letztere.
Wenn Sie eine gemeinsame Shell-Initialisierungsdatei für alle Ihre Shells wünschen; benutze .profile
(und entferne .bashrc
und .zshrc
). Es wird von allen POSIX-Shells bezogen. Halten Sie sich dort nur an die Funktionen der POSIX-Shell . Dann wird dieser Code in jeder POSIX-Shell ausgeführt. (Ich bin mir jedoch nicht 100% sicher, ob zsh
POSIX-konform ist).
Sehen: http://mywiki.wooledge.org/DotFiles .
Obwohl - und ich würde diesen Teil Ihrer Frage zuerst falsch verstehen - keine Fehler bash
beim Ausführen auftreten sollten, es .bashrc
sei denn, Sie geben dort zsh
Befehle ein. Hast du? Welche Fehler bekommen Sie? Klingt für mich so, als hätten Sie zsh
Code zu Ihrem hinzugefügt .bashrc
und bash
(offensichtlich) nicht verstanden.
Nebenbei ojblass
versucht, einen Punkt der Portabilität zu machen, der nur teilweise gelingt. zsh
ist eine großartige Shell (obwohl ich selbst nicht die Ehre hatte), aber beim Schreiben von Skripten; Ich würde empfehlen, dass Sie dies #!/usr/bin/env bash
stattdessen tun . Meistens nur für Ihre eigenen (und letztendlich für die Personen, die Sie mit ihnen teilen), um die Portabilität zu gewährleisten.