linux登入式与非登入式shell
登入相关配置文件
拿centos7环境举例,bash相关的配置文件主要分为全局配置文件和个人配置文件。
- 全局配置文件
/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
- 个人配置文件
~/.bash_profile
~/.bashrc
可以看到,配置文件主要分为profile
类和bashrc类文件
。
profile
类文件主要作用- 设定环境变量。
- 运行命令或脚本(登录时运行的脚本)。
bashrc
类文件主要作用- 设定本地变量。
- 定义命令别名。
登入式shell与非登入式的区别
区别在于,初始化shell时执行的初始化步骤不同,读取配置文件的顺序不同。
- 登入式shell读取配置流程
/etc/profile
->/etc/profile.d/*.sh
->~/.bash_profile
->~/.bashrc
->/etc/bashrc
- 非登入式shell读取配置流程
~/.bashrc
->/etc/bashrc
->/etc/profile.d/*.sh
在profile
类的文件中会设置HOME
,USER
,PATH
,MAIL
等环境变量,所以非登陆shell可能会面临奇怪的命令找不到,环境变量未定义等问题。
登入式与非登入式shell的开启方式
- 登录式shell
- 正常通过某终端登录的shell。
su - username
方式切换用户。su -l username
方式切换用户。
- 非登录式shell
su username
方式切换用户。- 图形终端下打开的命令窗口。
- 自动执行的shell脚本。
所以一般切换用户的时候,建议使用su -
方式而不是su
这种方式。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律