zsh 高度兼容 bash,但也有一定的差别「使用
man zsh
即可查看」
echo $SHELL
cat /etc/shells
/etc/profile
:全剧配置,所有用户登录时就会执行一次/etc/paths
:类似于/etc/profile
~/.bash_profile
:单用户个人配置,用户登录时执行一次,用户设置的环境变量执行 .bashrc
。和 /etc/profile
一样也需要重启后生效。不同的是 /etc/profile
针对所有用户;~/.bash_profile
针对当前单个用户~/.bash_login
:当每次登陆系统(退出bash shell
)时,执行该文件~/.profile
:针对个人,读取的是个人的配置文件一系列操作「如果用户登录状态,读 .bash_profile
文件、若.bash_profile
不存在,则读.bash_login
,如果前两者都不存在,最后才读~/.profile
」~/.bashrc
:属于当前用户专有的 shell
文件,当登陆或者打开一个 shell
窗口时就会被读取,因此无需重启 shell
窗口有了上述旧版本的 Mac 的系统变量了解,再来看看后续新版本的 Mac 环境变量的变化「其它都大致类似我们就看不同的地方」
~/.zprofile
:类似于~/.bash_profile
,登录时运行,并且允许 SSH
~/.zshrc
:类似于 ~/.bashrc
,针对的是每一个 “终端” shell 窗口
看到这儿还不知道这些文件在哪儿?➡️➡️➡️快捷键:command+shift+.
即可查看
如果发现没有上述圈红的两个文件,可以直接在 ~
目录下创建
由于我们是.zshrc
所以我们就直接上.zshrc
的设置
没有配置之前看看如何登陆mysql
vim ~/.zshrc
export PATH=${PATH}:/usr/local/mysql/bin
配置之后效果
${PATH} 和 $PATH 区别
会发现输出的结果貌似是一样的,但是也有细微差距。
$PATH_MySQL 会解析PATH变量值之后在拼接_MySQL
${PATH_MySQL} 会解析 PATH_MySQL 变量值
上述只是简单配置单个MySQL,如果电脑中存在MySQL80和MySQL57则推荐如下配置更方便管理
最快的方法就是添加 export 到 .bashrc/.zshrc 中。但了解整个过程,每个文件的作用还是有一定必要的。