bash中的配置文件
通过使用配置文件为用户提供了不同的选项来获取不同的bash使用特性。不同的配置文件的作用范围也是不一样的。bash的配置文件根据作用范围可以分为两类:
全局配置文件 对所有的用户有效
配置文件路径:
/etc/profile
/etc/profile.d/*.sh 配置文件片段
/etc/bashrc
/etc/bashrc用户配置文件 仅仅对当前的用户生效
~/.bash_profile
~/.bashrc
按功能来划分配置文件,分为两类:
- profile类: 主要为交互式登录的shell提供配置选项
全局profile: /etc/profie; /etc/profile.d/*sh
用户profile: ~/.bash_profile
作用:
(1)定义环境变量
(2)运行命令或是脚本
用法:
如果要在交互式登录shell时生效,那么可以讲要定义的全局变量/要执行的脚本写在该配置文件中即可.
- bashrc类: 主要为非交互式登录的shell提供配置选项
全局bashrc: /etc/bashrc
用户bashrc: ~/.bashrc
作用:
(!)定义命令别名
(2)定义本地变量
用法: 将要使用的变量|变量定义在指定范围的bashrc中
(非)交互式shell
交互式登录shell:
(1)通过终端输入账户/密码登录
(2) 使用"su - userName" | "su -l username"切换的用户
交互式登录shell 获取配置文件的机制
读取顺序 /etc/profile -> /etc/profile.d/*.sh -> ~/.bash_profile -> ~/.bashrc -> /etc/bashrc
即: bashrc 对交互式登录也是有效的,如果由重复配置,那么后面的文件会覆盖之前的文件。
非交互式登录:
(1) su userName
(2) 图形界面打开的终端
(3) 执行脚本时打开的(子) shell
非交互式登录shell 获取配置文件的机制
读取顺序:
~/.bashrc -> /etc/bashrc -> /etc/profile.d/*.sh
即: 非交互式登录不会读取/etc/profile中的配置
编辑配置文件后的生效方式:
(1) 重新登录;
(2) 使用source 命令重新读取配置文件
(3)./配置文件