理解Linux bash 和shell
2016-06-15 本文已影响189人
夏夜星语
今天在看到linux环境变量的这部分时,突然明白了linux的bash 和shell的含义。还是来看命令:
- 启动一个终端(shell),然后键入
ps -fH
得:
ps -fH
然后在此终端输入bash
后的结果:
bash 由此可见,系统默认的shell是bash shell,然后在当前shell下开启另一个bash,即是相当于开启了另一个子bash shell进程:输入exit
可看出:
exit
- 也就是说,linux系统在启动后(执行了init后进入桌面),此时按下
CTRL+ALT+T
开启的终端,实际上是由系统的一个进程开启了一个bash shell
,在开启的shell 下再次键入bash
后是开启了一个新的子shell进程,可以exit退回父进程。 - 另外,关于环境变量:
- 全局变量需要用
export
使之变成全局变量,用unset
命令取消此全局变量;
- 全局变量需要用
- 在父进程里定义的全局变量在子进程里用
unset
消灭后,可以在父进程里使用,也就是在父进程里仍然存在。具体看例子:
全局变量的例子
注意:声明变量时的语法:“name=value”(中间不能有空格!)
然后在子进程里取消这个全局变量:
子进程里的变量被取消,但父进程里还在