Linux-login VS non-login shell and standard Input Output

1、登录shell
  1. 采用快捷键登录进去的shell,所有采用名字和密码登录的shell
  2. 采用图形化登录进去的shell
  3. 采用su - 切换的登录shell
2、非登录shell
  1. 采用su登录用户的shell
  2. 打开的一个终端,即打开的一个控制界面
  3. 执行的脚本时采用非登录shell方式执行的
  4. any、other、bash、instances其他一些bash情景
3、登录shell于非登录shell之间的区别

系统中存在着全局环境变量:/etc/profile (global)
系统中存在着用户环境变量:~/.bash-profile (user)
系统中存在着这两种shell。
但是这两种shell仅在登录shell中才可以加载并且正常运行。
used for:Setting environment variables Running commands(eg mail-checker script)
系统中还存在着另外的环境变量“bashrc”
全局环境变量:/etc/bashrc(global)
用户环境变量:~/.bashrc(user)
**这两种环境变量可以运行在所有的bash shell中。
used for:setting local variables Defining aliases
/etc/profile ~/.profile /etc/bashrc ~/.bashrc
全局下/etc//bashrc的优先级最高。
优先级问题,在用户家目录下,.bash中有一个判断语句,如果采用.bashrc时,执行过程中会先判断全局/etc/bashrc是否存在,如存在,则优先执读取/etc/bash shell,所有登录的脚本只有在用户登陆后才会被加载,如果计算机放在登录界面则不会被加载,在用户登录之前网络配置已可以完成,还需服务已启动,用户登入只是满足加载用户文件而已。
前面文章中也提到了很多变量,只有在计算机登录完成进去后才有效。才可以执行,没有登入时是我无效的。
用户家目录中:.bash-logout 为用户注销脚本、.bash-histore 存放用户历史命令的脚本。

5、Standard Input and Output

STDI:标准输入,默认是键盘
STDIN:标o’i’o’iiiii

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章