現在我試圖從普通的Ubuntu bash中使用zsh。當我更改爲zsh shell時,我發現以前的環境變量(例如JAVA_HOME)在.bashrc
中不能自動遷移到.zshrc
。現在我只是複製它們(導出,別名在.bashrc中)到.zshrc
。我想知道是否有其他方便的方式在.bashrc
分享這些東西,並不需要明確複製它們?即使我在.zshrc
中添加了一些東西,然後更改爲普通bash,仍然可以在.zshrc
中分享它們,而無需將它們複製到.bashrc
。zsh和普通shell如何在不復制對方的情況下共享環境變量和別名
我試圖source .zshrc
在.bashrc
,然後換bash中,發現了以下錯誤
exec bash
autoload: command not found
bash: /home/zhuguowei/.oh-my-zsh/oh-my-zsh.sh: line 31: syntax error near unexpected token `('
bash: /home/zhuguowei/.oh-my-zsh/oh-my-zsh.sh: line 31: `for config_file ($ZSH/lib/*.zsh); do'
而在.zshrc
我也試過source .bashrc
,有錯誤也
source .zshrc
/home/zhuguowei/.bashrc:16: command not found: shopt
/home/zhuguowei/.bashrc:24: command not found: shopt
/home/zhuguowei/.bashrc:108: command not found: shopt
/usr/share/bash-completion/bash_completion:35: parse error near `]]'
\[\e]0;\[email protected]\h: \w\a\]\[email protected]\h:\w$
一個選項應該是源.bashrc文件中的.zshrc文件。 – user2672165
地獄不是,採購不兼容shell的rc是有史以來最愚蠢的建議之一(不幸的是我看到它提出了很多)。編寫一個基本的POSIX sh兼容的env文件,並從'〜/ .zshenv','〜/ .bashrc'和'〜/ .bash_profile'來源。留下一切外殼特定的。你可能想看看我的設置:https://github.com/zmwangx/dotfiles/blob/master/env,以及bash和zsh runcoms在他們各自的子目錄中。我沒有將我的設置廣告宣傳爲最好的,但至少沒有破壞,我可以用相同的基本環境啓動任何其他POSIX shell。 – 4ae1e1
謝謝@ 4ae1e1最後我決定採用這種方式:http:// stackoverflow。com/questions/764600/how-can-you-export-your-bashrc-to-zshrc – zhuguowei