Linux的bashrc与profile区别

技术文档网 2021-04-28

作用

环境变量即可设置本地设置,也可全局设置;文件名都很类似,bashrc/profile

本地环境变量设置

# ~/.bashrc: executed by bash for non-login shells.

# ~/.profile: executed by Bourne-compatible login shells.

全局环境变量设置

# /etc/bashrc

# /etc/profile
  • bashrc 是在系统启动后执行
  • profile 是在用户登录后执行
  • source .bashrc用于更新修改后的 bashrc 文件,bash .profile用于更新修改后的 profile 文件

都是设置环境变量的目的,为啥会存在两个文件呢?

login shell / non-login shell不同点

区分两个文件存在的目的,要明白login shellnon-login shell, 字面意思已经很明确,是否需要在登录信息的命令下执行。如何判断当前 shell 是登录还是未登录,如下:

~$ echo $0
-bash # "-" is the first character. Therefore, this is a login shell.

~$ echo $0
bash # "-" is NOT the first character. This is NOT a login shell.

参考资料

相关文章

  1. Linux iptables学习笔记

    最近工作需要跟firewall打交道,在这里写下自己的使用心得。 firewall主要的特性有: 1.支持区域设置 2.运行时跟持久化的配置是分离的 3.能够动态管理 iptables 不管是从

  2. Linux vim命令使用教程

    vim使用 参考链接 vim4种模式: 普通模式 插入模式 可视模式 命令行模式 进入vim,按下i或a进入插入模式 按ESC进入普通模式 在该模式下可以使用方向键 h向左 j向下 k向上

  3. 校准linux系统时间

    服务器的时间对于记录请求和数据库操作时间具有重要意义,对于一些如数据库备份的操作,时间尤为重要,需要避开白天业务繁忙时间进行。 修改时区 # cp /etc/localtime /etc/localt

  4. yum与rpm使用说明

    rpm 命令 rpm 命令是 RPM 软件包的管理工具。 语法 rpm (选项)(参数) 选项 -h:安装时列出标记;-i:安装时显示套件的相关信息;-v:安装时显示指令执行过程;-e:卸载已安

  5. service与chkconfig的替代者systemctl

    在安装 redis 时,看到将 redis 配置成 service 系统服务后,采用 service redisd start 命令启动;在安装 mariadb 时,看到利用 systemctl st

随机推荐

  1. Linux iptables学习笔记

    最近工作需要跟firewall打交道,在这里写下自己的使用心得。 firewall主要的特性有: 1.支持区域设置 2.运行时跟持久化的配置是分离的 3.能够动态管理 iptables 不管是从

  2. Linux vim命令使用教程

    vim使用 参考链接 vim4种模式: 普通模式 插入模式 可视模式 命令行模式 进入vim,按下i或a进入插入模式 按ESC进入普通模式 在该模式下可以使用方向键 h向左 j向下 k向上

  3. 校准linux系统时间

    服务器的时间对于记录请求和数据库操作时间具有重要意义,对于一些如数据库备份的操作,时间尤为重要,需要避开白天业务繁忙时间进行。 修改时区 # cp /etc/localtime /etc/localt

  4. yum与rpm使用说明

    rpm 命令 rpm 命令是 RPM 软件包的管理工具。 语法 rpm (选项)(参数) 选项 -h:安装时列出标记;-i:安装时显示套件的相关信息;-v:安装时显示指令执行过程;-e:卸载已安

  5. service与chkconfig的替代者systemctl

    在安装 redis 时,看到将 redis 配置成 service 系统服务后,采用 service redisd start 命令启动;在安装 mariadb 时,看到利用 systemctl st