问题
- 从`bash`切换到`zsh`后,发现原先`bash`下的`bashrc`文件配置都失效了(显示`zsh: command not found`字样,当然如果手动通过`source FileName`加载是可以的),`macOS Catalina(10.15.5)` 已经默认切换到`zsh`,那么如何实现不用每次加载`.bashrc`文件就实现`alias`等便捷功能呢?
解决方案
- 使用系统级的`/etc/zshrc`或`/etc/zprofile`
- 使用用户级的`~/[X]bashrc`或`~/[X]profile`
- 鉴于`/etc/zshrc`里有较多`zsh`特性配置,而且默认`全局加载`,因此这里通过编辑用户级的`profile`并加载原先的`bashrc`(即`Bash Shell`下用户文件)来实现我们的需求
详细步骤
mu@xiaomudeMacBook-Pro ~ % cp /etc/zprofile ~/.zprofile
mu@xiaomudeMacBook-Pro ~ % ll ~/.zprofile
-r--r--r-- 1 mu staff 255 9 6 09:35 /Users/mu/.zprofile
mu@xiaomudeMacBook-Pro ~ % chmod u+w ~/.zprofile #要实现自定义必须添加写权限,否则只有只读权限
mu@xiaomudeMacBook-Pro ~ % ll ~/.zprofile
-rw-r--r-- 1 mu staff 255 9 6 09:35 /Users/mu/.zprofile
- 追加自定义配置项,加载
Bash Shell
的.bashrc
文件
mu@xiaomudeMacBook-Pro ~ % cat .bashrc
alias ll='ls -l'
mu@xiaomudeMacBook-Pro ~ % echo "source ~/.bashrc" >> .zprofile
mu@xiaomudeMacBook-Pro ~ % ll #配置暂未生效
zsh: command not found: ll
mu@xiaomudeMacBook-Pro ~ % source .zprofile #加载配置文件,使其立即生效;下一次打开终端Shell会话,将自动加载
mu@xiaomudeMacBook-Pro ~ % ll
total 16
drwx------ 5 mu staff 160 8 23 14:38 Applications
drwx------@ 4 mu staff 128 1 2 2019 Applications (Parallels)
drwx------@ 4 mu staff 128 9 1 15:23 Desktop
drwx------+ 20 mu staff 640 8 29 12:14 Documents
drwx------@ 35 mu staff 1120 9 6 09:29 Downloads
drwx------@ 85 mu staff 2720 8 30 11:05 Library
drwx------+ 4 mu staff 128 8 20 20:17 Movies
drwx------+ 8 mu staff 256 8 20 20:17 Music
drwx------ 26 mu staff 832 9 6 09:28 Nextcloud
drwx------ 3 mu staff 96 1 2 2019 Parallels
drwx------+ 6 mu staff 192 8 20 20:01 Pictures
drwxr-xr-x+ 4 mu staff 128 11 28 2018 Public
drwxr-xr-x 4 mu staff 128 12 9 2018 PycharmProjects
-rw-r--r-- 1 mu staff 811 12 15 2018 Untitled.ipynb
-rw-r--r-- 1 mu staff 1578 12 29 2018 Untitled1.ipynb
drwxr-xr-x 3 mu staff 96 8 25 16:08 VirtualBox VMs
drwxr-xr-x 2 mu staff 64 1 25 2019 WeChatProjects
参考链接
Bash切换Zsh后,bashrc文件失效的解决方案