shell篇(一)

login shell与non-login shell:

         login shell:取得shell时,需要完整的登入流程。如:tty1~tty6登入时,需要输入用户名和密码。此时取得的shell就称为login

                          shell。

         non-login shell:取得shell时,不需要重复登入的过程。如:以X window登入linux,再以X的图形界面启动终端机,此时终端

                                 机不需要再次的输入用户名和密码,这个bash的环境就是non-login shell。

                                 如:在原本的bash环境中再次下达bash这个命令,不要求输入用户名和密码,这个bash环境就是non-login

                                 shell。

 

interactive shell与non-interactive shell:

         交互式shell:shell等待命令,然后执行命令。如:用户登录--->执行命令......--->logout,shell也终止。

         非交互式shell:shell读取文件中的命令,执行命令,读到文件最后一行,shell终止。如shell脚本文件。

 

bashrc和profile都用于保存用户的环境信息,bashrc用于保存交互式的non-login shell,profile用于交互式的login shell。

         /etc/profile, /etc/bashrc 是系统全局环境变量设定。有的系统已经没有/etc/bashrc这个文件。

        ~/.profile, ~/.bashrc 是用户目录下的私有环境变量设定。~/.profile只是登入的时候执行一次,~/.bashrc每次打开一个shell

                                       都会被执行。

 

login shell的初始执行过程:/etc/profile 这个文件还自己调用 /etc/profiled/*sh  /etc/inpurc等。

                               ~/.bash_profile  ~/.bash_login  ~/.profile 依次调用各个文件,有一个执行后,即停止。

non-login shell的初始执行过程:~/.bashrc 这个文件自己调用 /etc/bashrc, /etc/bashrc再去调用 /etc/profiled/*sh等。     

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。