配置文件
按生效范围划分,存在两类:
- 全局配置:
/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
- 个人配置:
~/.bash_profile
~/.bashrc
shell 登录两种方式
- 交互式登录:
- 直接通过终端输入账号密码登录
- 使用
su - UserName
切换的用户
执行顺序:/etc/profile
-->/etc/profile.d/*.sh
-->~/.bash_profile
-->~/.bashrc
-->/etc/bashrc
- 非交互式登录:
su UserName
- 图形界面下打开的终端
- 执行脚本
- 任何其它的bash实例
执行顺序:~/.bashrc
-->/etc/bashrc
-->/etc/profile.d/*.sh
按功能划分:存在两类:
Profile类
为交互式登录的 shell 提供配置
全局:/etc/profile
,/etc/profile.d/*.sh
个人:~/.bash_profile
功用:
1. 用于定义环境变量
2. 运行命令或脚本
bashrc类
为非交互式和交互式登录的 shell 提供配置
全局:/etc/bashrc
个人:~/.bashrc
功用:
1. 定义命令别名和函数
2. 定义本地变量
Bash退出任务
- 保存在
~/.bash_logout
文件中(用户) - 在退出登录 shell 时运行
- 用于:
- 创建自动备份
- 清除临时文件
$-变量:
- h:hashall,打开这个选项后,Shell 会将命令所在的路径 hash 下来,避免每次都要查询。通过 set +h将h选项关闭
- i:interactive-comments,包含这个选项说明当前的 shell 是一个交互式的 shell。所谓的交互式 shell,在脚本中,i选项是关闭的。
- m:monitor,打开监控模式,就可以通过 Job control 来控制进程的停止、继续,后台或者前台执行等。
- B:braceexpand,大括号扩展
- H:history,H选项打开,可以展开历史列表中的命令,可以通过 ! 来完成,例如 "!!" 返回上最近的一个历史命令,"!n" 返回第n个历史命令
网友评论