一句话,二者均是shell的一种,zsh能基本完美兼容bash的命令,并且使用起来更加优雅。由于bash或zsh本质上都是解释器,他们所共同服务的是shell语言,因此在命令语法上基本相同;

mac目前默认zsh

zsh和bash


打开(打开后就可以编辑) open ~/.zshrc
vi打开 vi ~/.zshrc
生效 source ~/.zshrc

.bash_profile 中修改环境变量只对当前窗口有效,而且需要 source ~/.bash_profile才能使用
.zshrc 则相当于 windows 的开机启动的环境变量 你也可以在 .zshrc 文件中加一行 source .bash_profile 解决需要 source 才能使用的问题

文件不存在,可以直接创建
touch ~/.bash_profile
touch ~/.zshrc

别名


# kubectl alias
alias k=kubectl

将bash配置到zsh

vi ~/.zshrc 或者 open ~/.zshrc 弹窗打开页面

在文件的末尾添加下面的命令,然后保存退出:
source ~/.bash_profile

更新zshrc:
source ~/.zshrc

这样,当 zsh 启动的时候,会读取 .bash_profile 文件的内容并使之生效。

最佳实践

以下是在macOS系统中使用.bash_profile.zshrc文件的最佳实践:

  1. 不要直接编辑系统级别的.bash_profile.zshrc文件。而是在你的用户主目录下创建一个新的文件,例如.bash_profile_user.zshrc_user,并在其中添加你的自定义配置。这样可以避免意外覆盖系统级别的配置文件。

  2. 使用export命令来设置环境变量,例如:

    export PATH="/usr/local/bin:$PATH"
    export LC_ALL=en_US.UTF-8
    export LANG=en_US.UTF-8
    这将使你的环境变量在各个终端会话中保持一致。
    
  3. 将所有的自定义配置放在文件的末尾,以避免意外覆盖系统级别的配置。

  4. 使用别名来简化常用的命令,例如:

    alias ll='ls -alF'
    alias gs='git status'
    alias gc='git commit'
    
    
  5. 为常用的命令设置颜色输出,以提高可读性。例如:

    # 在ls命令中设置颜色输出export CLICOLOR=1
    export LSCOLORS=gxfxcxdxbxegedabagacad
    
    
  6. 使用函数来自定义命令行行为,例如:

    # 自定义cd命令以自动列出目录内容
    function cd {
        builtin cd "$@" && ls -alF
    }
    
    这样当你使用`cd`命令进入一个目录时,会自动列出该目录的内容。
    
  7. 使用source命令来重新加载.bash_profile.zshrc文件,以使更改生效。例如:

    source ~/.bash_profile_user
    source ~/.zshrc_user
    这将重新加载你的自定义配置文件,使任何更改生效。