你怎么能把你的.bashrc导出到.zshrc?
我正在尝试从Bash移到zsh。
我把我的.bashrc直接放到我的.zshrc文件中,当我尝试再次使用Bash的时候,它导致了很多错误。
你怎么能把你的.bashrc导出到.zshrc?
虽然lhunath的回答将我推向了正确的方向,但zsh似乎并没有自动生成.profile
。 很多关于这个话题的信息可以在这个超级用户的post中find。
我正在使用的适应是将常见的别名和function放在.profile
并手动采购它们,如下所示:
的.bashrc
source ~/.profile
.zshrc
[[ -e ~/.profile ]] && emulate sh -c 'source ~/.profile'
您不能将您的.bashrc
“ 导出 ”为.zshrc
。 .bashrc
是一个运行bash
命令的文件。 .zshrc
是运行zsh
命令的文件。
你不能期望zsh
能够在你的.bashrc
运行bash
命令,所以你应该把它转换成一个新的.zshrc
而不是试图从.zshrc
运行.bashrc
或者把它复制到后者。
如果你想要一个通用的shell初始化文件的所有你的shell; 使用.profile
(并删除.bashrc
和.zshrc
)。 它来自所有POSIX炮弹。 在那里, 只能坚持POSIX shell的function。 然后,该代码将在任何POSIX shell中运行。 (虽然我不是100%确定zsh
是符合POSIX的)。
请参阅: http : //mywiki.wooledge.org/DotFiles 。
虽然 – 而且我首先会误解这个部分的问题 – 除非你把zsh
命令放在那里,否则在运行.bashrc
时候你不应该遇到bash
错误。 你是否? 你得到什么错误? 听起来像你已经将zsh
代码添加到您的.bashrc
和bash
(显然)不明白。
另外, ojblass
试图提出一个只能部分成功的可移植性。 zsh
是一个很棒的shell(虽然我自己没有这个荣誉),但是在编写脚本的时候, 我build议你用#!/usr/bin/env bash
代替。 主要是为了你自己(最终,你与他们分享的人)的便携性。