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

STDIN:标准输入,默认是键盘
STDOUT:标准输出,默认是终端
STDERR:错误输出,默认是终端
Redirecting output to a file
Stdout and stderr can be redirected to files
command operator filename

  • supported operators include:
    [>]:redirect stdout to file //command > filename 正确信息重定向
    在这里插入图片描述
    [2>]:redirect stderr to file //command 2> filename 错误信息重定向
    在这里插入图片描述
    [&>]:red all output to file //command &> filename 所有信息重定向

  • 追加
    [>>] | [2>>] | [&>>]
    特殊设备:/dev/null 代表空设备

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值