理解Linux bash 和shell

今天在看到linux环境变量的这部分时,突然明白了linux的bash 和shell的含义。还是来看命令:

  1. 启动一个终端(shell),然后键入ps -fH得:
    ps -fH

    然后在此终端输入bash后的结果:
    理解Linux bash 和shell_第1张图片
    bash
    由此可见,系统默认的shell是bash shell,然后在当前shell下开启另一个bash,即是相当于开启了另一个子bash shell进程:输入exit可看出:
    理解Linux bash 和shell_第2张图片
    exit
  • 也就是说,linux系统在启动后(执行了init后进入桌面),此时按下CTRL+ALT+T开启的终端,实际上是由系统的一个进程开启了一个bash shell,在开启的shell 下再次键入bash后是开启了一个新的子shell进程,可以exit退回父进程。
  • 另外,关于环境变量:
    • 全局变量需要用export使之变成全局变量,用unset命令取消此全局变量;
  • 在父进程里定义的全局变量在子进程里用unset消灭后,可以在父进程里使用,也就是在父进程里仍然存在。具体看例子:
    理解Linux bash 和shell_第3张图片
    全局变量的例子

    注意:声明变量时的语法:“name=value”(中间不能有空格!)
    然后在子进程里取消这个全局变量:
    理解Linux bash 和shell_第4张图片
    子进程里的变量被取消,但父进程里还在

理解环境变量,理解bash shell.

你可能感兴趣的:(理解Linux bash 和shell)