bashrc 与 profile 的区别

.profile.bashrc

.profile.bashrc 都是 shell 的配置文件,用于初始化用户环境,但它们的用途和加载时机有所不同。以下是它们的主要区别:

1. .profile 文件

  • 作用.profile 是一个登录 shell的配置文件。当你使用登录 shell(如通过 SSH 登录或从终端输入用户名和密码登录系统)时,.profile 会被执行。
  • 位置:通常在用户的主目录中,路径为 ~/.profile。有时在某些系统中,可能是 .bash_profile.login
  • 用途:设置一些全局的环境变量(如 $PATH、语言设置等),以及执行一些一次性的初始化任务。它主要用来配置登录时需要生效的全局环境。
  • 加载时机:仅在用户登录时(通过终端或 SSH),或者启动一个登录 shell(如 bash --login)时才会被加载。

2. .bashrc 文件

  • 作用.bashrc非登录 shell的配置文件。每次启动一个新终端窗口或运行非登录的 bash 时,.bashrc 都会被执行。
  • 位置:同样位于用户主目录中,路径为 ~/.bashrc
  • 用途:常用于配置 shell 的交互行为,比如别名、提示符、历史记录配置等。这些配置在每次启动新 shell 时都会生效,而不仅仅是在登录时生效。
  • 加载时机:每次启动新的 bash 实例(如通过终端打开一个新会话)时会自动加载 .bashrc

3. 加载顺序

  • 如果是登录 shell,bash 会尝试加载 .profile,而不会自动加载 .bashrc
  • 如果是非登录 shell,bash 会加载 .bashrc

4. 典型的设置方式

通常,在 .profile 中有这样的代码来确保登录时也加载 .bashrc 的设置:

if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

这样,当你登录时,.profile 会首先被加载,然后它会调用 .bashrc,从而确保你在登录和非登录 shell 中都能使用相同的配置。

总结:

  • .profile:用于登录 shell,会设置全局环境变量,通常只在登录时执行一次。
  • .bashrc:用于非登录 shell,配置命令别名、提示符等,每次启动新 shell 时执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值