背景
-
工作中,发现很多同事对Linux的env感觉困惑,其实是很简单的东西。
例如:ssh登陆机器后无法看到一些env;同事很疑惑; -
下面结合bash来讲解一下env和bash/shell
概念:
- Bash是一种UNIX shell,就是命令行解释器,也是一种脚本语言;生于1989年,目的是代替Bourne Shell;
- Bourne Shell:作者是 Stephen Bourne,bell实验室的。早期的shell实现,生于1976年;
- shell:就是UI,连接着人类和机器。shell使用CLI和GUI,他是一种概念,有多种实现;
- Bourne Shell:作者是 Stephen Bourne,bell实验室的。早期的shell实现,生于1976年;
env
- 作用:1)shell给子进程通信 ,2)shell脚本内存储临时变量
- 初始化:init进程初始化脚本负责初始化
- 继承:默认继承父进程的env,父进程可以在fork和exec之间显示改变环境变量;
- PS1: 提示符的格式:[\u@\h \W]$
- $LD_LIBRARY_PATH: .so的位置
启动脚本 执行顺序
1.When started as an interactive login shell[edit]
Bash reads and executes /etc/profi