【Mac】配置文件

1、针对Bash Shell的配置文件

  • ~/.bash_profile
    • 读取时机:当用户登录到 Bash shell 时读取。这是 Bash shell 特有的配置文件。
    • 作用范围:用户级配置,仅适用于当前用户的 Bash shell 会话。
    • 内容:通常用于设置环境变量、路径、别名和其他用户级配置。~/.bash_profile 还可以用来调用其他配置文件,如 ~/.bashrc。
  • ~/.bashrc
    • 读取时机:每次打开新的 Bash shell 会话时(无论是通过终端还是其他方式)都会读取。
    • 作用范围:用户级配置,仅适用于当前用户的 Bash shell 会话。
    • 内容:通常用于设置别名、函数、主题等个性化配置。与 ~/.bash_profile 不同,~/.bashrc 更侧重于交互式会话的个性化设置。

2、针对Zsh Shell的配置文件

  • ~/.zprofile
    • 读取时机:~/.zprofile 通常在用户登录到 Zsh shell 时被读取。这意味着,当用户通过 SSH 登录到系统,或者使用终端模拟器以登录 shell 的方式启动 Zsh 时,这个文件会被执行。
    • 作用范围:用户级配置,仅对当前用户有效。
    • 内容:通常用于设置环境变量、路径和其他全局配置,这些配置只需要在用户登录时执行一次。由于 ~/.zprofile 是在登录时读取的,因此它适合放置那些只需要在会话开始时执行一次的命令或设置。
  • ~/.zshrc
    • 读取时机:~/.zshrc 每次打开新的 Zsh 会话时都会被读取,无论是通过终端直接打开的交互式 shell,还是通过其他方式启动的非登录 shell。
    • 作用范围:用户级配置,仅对当前用户有效。
    • 内容:通常用于设置别名、函数、主题、环境变量以及其他个性化配置。由于 ~/.zshrc 在每次新的 shell 会话时都会被读取,因此它适合放置那些每次打开终端时都需要生效的设置。

3、系统级配置文件

  • /etc/profile:全局共有配置,为系统的每个用户设置环境信息和启动程序。其配置对所有登录的用户都有效,但由于它影响所有用户,因此一般不建议轻易修改。

  • /etc/paths:全局共有配置,任何用户登录时都会读取该文件。它用于设置环境变量,但不需要使用export命令。文件内容中的每一行路径都会被添加到环境变量中。系统启动时会加载该文件,修改它需要Root权限。

  • /etc/bashrc:系统级配置,为每个运行bash shell的用户执行该文件。当bash shell打开时,该文件被执行,其配置对所有使用bash的用户打开的每个bash都有效。

4、总结

Mac系统环境变量的加载顺序:a -> f

bash 复制代码
a. /etc/profile 
b. /etc/paths  
c. ~/.bash_profile 	
d. ~/.bash_login 	
e. ~/.profile 		
f. ~/.bashrc 

自macOS Catalina(10.15)以来,Zsh已成为macOS的默认shell。因此,大多数用户会在.zshrc文件中进行配置,以确保每次打开终端时都能应用个性化设置。然而,仍有一些用户可能在使用Bash,特别是在某些特定环境中(如脚本编写),在这种情况下,他们会在.bashrc文件中进行配置。

请注意,配置文件的加载顺序和优先级可能因Mac OS版本和用户的具体设置而有所不同。在进行配置修改时,建议先备份原始文件,并仔细了解每个配置文件的作用和加载顺序,以避免不必要的错误和冲突。

相关推荐
梦魇梦狸º10 小时前
mac 配置 python 环境变量
chrome·python·macos
丁总学Java15 小时前
macOS如何进入 Application Support 目录(cd: string not in pwd: Application)
macos
qdprobot15 小时前
Mixly米思齐1.0 2.0 3.0 软件windows版本MAC苹果电脑系统安装使用常见问题与解决
windows·macos
麦克Mapp15 小时前
不用安装双系统,如何在mac上玩windows游戏呢?
macos
符小易15 小时前
Mac苹果电脑 怎么用word文档和Excel表格?
macos·word·excel
梦魇梦狸º19 小时前
node安装与管理
macos·node.js
缘友一世1 天前
macOS查看当前项目的 tree 结构
macos
梦魇梦狸º1 天前
mac 安装 python2
python·macos
篮l球场2 天前
mac m1下载maven安装并配置环境变量
macos
YAIMZA2 天前
mac配置 iTerm2 使用lrzsz与服务器传输文件
服务器·macos·lrzsz