🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
#### profile ``` 1.为交互式登录的shell进程提供配置 2./etc/profile, /etc/profile.d/*sh,对所有用户都生效 3.~/.bash_profile 仅对当前用户生效 4.定义环境变量 5.运行命令或脚本 ``` #### bashrc ``` 1.非交互式登录的shell进程提供配置 2./etc/bashrc 对所有用户生效 3.~/.bashrc 仅对当前用户生效 4.定义本地变量 5.定义命令别名 ``` #### 区别 ``` 交互式登录 直接通过某终端输入账号和密码后登录打开的shell进程称为交互式登录 非交互式登录 su USERNAME 执行的登录切换 图形界面下打开的终端 运行脚本 读取顺序: 交互式登录 /etc/profile ---> /etc/profile.d/* ---> ~/.bash_profile ---> ~/.bashrc ---> /etc/bashrc 非交互式登录 ~/.bashrc ---> /etc/bashrc ---> /etc/profile.d/* 命令行中定义的例如变量和别名作用域为当前shell进程的生命周期 配置文件定义的特性只对随后新启动的shell进程有效 如何让通过配置文件定义的特性立即生效? 1. 通过命令行重复定义一次 2. 让shell进程重读配置文件 source 配置文件 ``` #### 测试 ``` 在/etc/profile.d/新建文件welcome.sh echo welcome 然后保存文件 退出重新登录 ```