zoukankan      html  css  js  c++  java
  • Shell:环境变量深入

    全局配置文件/etc/profile

    当前用户进入shell环境初始化的时候会加载全局配置文件/etc/profile里面的环境变量,供给所有的Shell程序使用。

    以后只要是所有Shell程序或命令使用的变量,就可以定义在这个文件中

    创建环境变量步骤

    1.编辑全局配置文件

    export var=val
    

    2.使修改生效

    source /etc/profile
    

    3.在Shell环境中就可以读取到环境变量了

    shell工作环境

    shell工作环境介绍

    用户登录系统时,Shell为用户定义了工作环境,工作环境提供了共享数据环境变量,比如shell解析器类型、主机名等,这些数据存储在环境变量中,便于shell脚本程序操作使用

    shell工作环境分类

    交互式与非交互式shell

    交互式Shell

    是shell的一种运行模式,交互式shell等待你输入命令,并且立即执行,然后将结果反馈给你。这是每个CLI用户都非常熟悉的流程:登录、执行一些命令、登出。当你登出后,这个shell就终止了。

    非交互式Shell

    是shell的另一种运行模式,它专门被用来执行预先设定的命令。在这种模式下,shell不与用户进行交互,而是读取存放在脚本文件中的命令并执行它们。当它读到文件的结尾,这个shell就终止了。

    登录Shell与非登录Shell环境

    类型名称 含义
    shell登录环境 需要用户名、密码登录之后才能进入的shell
    shell非登录环境 直接不用输入用户名和密码就可以打开的shell
    或调用子Shell时使用的工作环境

    注意:不同的工作环境加载环境变量流程不一样

    这里/etc/passwd文件中以nologin结尾的用户就是不需要登陆的shell环境

    image-20210511135221514

    环境变量初始化流程

    image-20210511133945500

    登陆环境执行语法

    Shell登陆环境执行脚本文件语法

    # 先加载shell登录环境变量, 然后再执行脚本文件
    bash -l 脚本文件 或  bash --login 脚本文件 
    sh -l 脚本文件  或 sh --login 脚本文件
    

    Shell非登陆环境执行脚本文件语法

    bash 脚本文件  / sh 脚本文件  #执行脚本
    

    识别Shell环境类型

    使用$0识别环境语法

    echo $0
    

    输出 -bash 代表:shell登录环境

    输出 bash 代表: shell非登录环境

    注意:这个 $0 环境变量如果用在子shell中(shell脚本文件)输出Shell脚本本身的文件名

    bash命令语法

    bash
    

    bash命令:用于切换为Shell非登录环境

    image-20210511140119998

    image-20210511140301530

    logout命令语法

    logout
    

    logout命令: 用于退出Shell登录环境

    exit命令语法

    exit
    

    exit命令: 用于退出Shell登录或非登录环境

    logout 只能退出Shell登录环境

    exit 可以退出Shell登录与非登录环境

  • 相关阅读:
    UOJ.26.[IOI2014]Game(交互 思路)
    Good Bye 2016 F.New Year and Finding Roots(交互)
    Codeforces.835E.The penguin's game(交互 按位统计 二分)
    Codeforces.744B.Hongcow's Game(交互 按位统计)
    Codeforces.862D.Mahmoud and Ehab and the binary string(交互 二分)
    正睿OI 提高 Day1T3 ZYB玩字符串(DP)
    划分vlan
    2三层交换机实现vlan间的路由
    交换机基础-交换机远程telnet
    自动化运维环境的搭建问题处理
  • 原文地址:https://www.cnblogs.com/wwjj4811/p/14755032.html
Copyright © 2011-2022 走看看