zsh
還是bash
從 macOS Catalina 版開始,您的 Mac 將使用 zsh 作爲默認登錄 Shell 和交互式 Shell。
zsh
環境變量配置
Last login: Sun Feb 2 00:05:49 on ttys001
david@DavidbiberdeMBP ~ % ls
Applications Library Public
Desktop Movies node_modules
Documents Music package-lock.json
Downloads Pictures
david@DavidbiberdeMBP ~ % pwd
/Users/david
david@DavidbiberdeMBP ~ % open -e .zprofile
david@DavidbiberdeMBP ~ % source .zprofile //配置完成後刷新配置
打開.zprofile
配置相關變量
bash
環境變量配置
Last login: Sun Feb 2 00:05:49 on ttys001
david@DavidbiberdeMBP ~ % ls
Applications Library Public
Desktop Movies node_modules
Documents Music package-lock.json
Downloads Pictures
david@DavidbiberdeMBP ~ % pwd
/Users/david
david@DavidbiberdeMBP ~ % open -e .bash_profile
david@DavidbiberdeMBP ~ % source .bash_profile //配置完成後刷新配置
在.bash_profile
中配置相關環境變量
如果已經配置了bash
的.bash_profile
,需要使用zsh
時
解決方案 在.zprofile
中添加[[ -e ~/.bash_profile ]] && emulate sh -c 'source ~/.bash_profile'
即可調用.bash_profile
中相關環境變量配置到.zprofile
中
附件說明
mac
官方說明
如何切換到 zsh 描述文件和提示符
如果您正在使用 bash 描述文件(例如,爲了設置環境變量、別名或路徑變量),則您應改爲使用作用與它相同的 zsh 描述文件。例如:
- .zprofile 的作用與 .bash_profile 相同,並且在登錄時運行(包括通過 SSH 運行)
- .zshrc 的作用與 .bashrc 相同,並針對每個新的“終端”會話運行
如果您正在使用 .profile(一個兼容 POSIX 的描述文件),則您可以將以下命令添加到 .zprofile,以便 zsh 自動讀取這個描述文件的設置:
[[ -e ~/.profile ]] && emulate sh -c ‘source ~/.profile’
bash
與zsh
相互切換
bash
切換爲zsh
:chsh -s /bin/zsh
zsh
切換爲bash
:chsh -s /bin/bash
常用變量配置
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home
M2_HOME=/Volumes/david/apache-maven-3.6.1
NODE_HOME=/Volumes/david/node_modules/node_global
MYSQL_HOME=/usr/local/mysql
PATH=$M2_HOME/bin:$NODE_HOME/bin:$MYSQL_HOME/bin:$JAVA_HOME/jre/bin:$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH
node.js
全局安裝後自定義緩存路徑與全局路徑
npm config set prefix "/Users/david/node_modules/node_global"
//配置緩存cache路徑
npm config set cache "/Users/david/node_modules/node_cache"
驗證node.js
全局配置
npm config get prefix
npm config get cache
注意
此教程解決node.js
更改全局配置後全局安裝vue
webpack
nrm
等工具後只能訪問一次或者提示zsh: command not found: vue
等錯誤時修復
適用於mac
系統