• Linux shell编程学习笔记6:查看和设置变量的常用命令


    上节我们介绍了变量的变量命名规则、变量类型、使用变量时要注意的事项,今天我们学习一下查看和设置变量的一些常用命令,包括变量的提升,有些命令在之前的实例中已经使用过了。

    一、 echo :查看变量的值

    语法格式:echo [参数] [输出内容]

    常用参数:

    -e:支持反斜线控制的字符转换(具体参见表 1)

    -n:取消输出后行末的换行符号(内容输出后不换行)

    实例: 

    user@myhost:~ >echo $SHELL
    /bin/bash
    user@myhost:~>exec dash
    \u@myhost:\w>echo $0
    dash
    \u@myhost:\w>echo $SHELL
    /bin/bash

    二、 env命令:创建、删除、显示环境变量

    语法格式:env [参数] [对象]

    常用参数:

    -i            :创建一个新的空白环境

    -u           :从当前环境中删除指定的变量

    --help     :显示帮助信息

    --version:显示版本信息

    实例:

    user@myhost : ~ # env 
    USER =USER
    SHLUL=1
    HOME =/home/tc 
    PAGER=less一 EM
    PS 1 =user@Myhost : \W #
    ENU=/home/ tc/ . ashrc
    BACKUP=1
    LOGNAME=tc 
    TERM=1 inux 
    PATH=/home/tc/. local/bin:/usr/ local/sbin:/usr/ local/bin:/apps/bin:/usr/sbin:/usr
    /bin:/sbin:/bin
    G_ F ILENAME ENCOD ING= iso8859- 1
    LANG=C
    MANPAGER=less一 isR 
    SHELL=/bin/sh
    FLWM_ TITLEBAR COL0R=58:7D :AA
    PWD=/ home/tc
    EDITOR=vi
    user@Myhost :#
     

    三、printenv命令:查看环境变量的值

    语法格式:printenv [参数] [变量]

    常用参数:

    –null      :以空字符而非新行符结束每一输出行
    –help     :显示此帮助信息并退出
    –version:显示版本信息并退出

    如果不写变量名字,printenv则显示出所有的环境变量

    实例1:显示所有的环境变量

    user@Myhost : ~  # printenv
    USER=USER
    SHLUL=1
    HOME=/ home/tc 
    PAGER=less -EM
    PS1 =user@Myhost : \W #
    ENU=/home/tc/.ashrc
    BACKUP=1
    LOGNAME=tc
    TERM=linux
    PATH=/home/tc/. local/bin:/usr/ local/sbin:/usr/ local/bin:/apps/bin:/usr/sbin:/usr
    /bin:/sbin:/bin
    G_ FILENAME ENCOD ING= i so8859- 1
    LANG=C
    MANPAGER=less -isR
    SHELL=/bin/sh
    FLWM_ TITLEBAR COL0R=58:7D:AA
    PWID=/home/tc
    EDITOR=vi
    user@Myhost : ~ #

    实例2:显示环境变量PS1的值:

    user@Myhost : ~ # prntenv PS1 
    user@Myhost :\w #
    user@Myhost : ~ #

    这样的功能跟echo $PS1命令相似。


    四、 set命令:显示与设置Shell变量信息

    set命令的功能是用于显示与设置Shell变量信息,管理员也可以通过这个命令设置Shell终端特性,从而更好契合日常工作的需要。

    语法格式:set [参数] [变量名]

    常用参数:

    -a: 显示已修改的变量

    -b: 使被中止的后台程序立刻回报执行状态

    -e: 若指令传回值不等于0则立即退出

    -f : 取消使用通配符

    -h: 自动记录函数的所在位置

    -k :指令所给的参数都会被视为此指令的环境变量

    -l  :记录for循环的变量名称

    -m:使用监视模式

    -n :只读取命令而不实际执行

    -p :使用优先顺序模式

    -t  :执行完指令后即退出

    -u :遇到未定义的变量时报错

    不加参数时,set命令显示当前shell的所有本地设置的Shell变量,否则设置shell变量

    实例:

    user@Myhost :~ # set | more
     


    五、unset命令:删除已定义的shell变量(包括环境变量)和shell函数

    unset为shell内建指令,功能是删除已定义的shell变量(包括环境变量)和shell函数。

    unset命令不能够删除具有只读属性的shell变量和环境变量。

    语法格式:unset [参数]

    常用参数:

    -f :仅删除函数

    -v:仅删除变量

    实例:

    创建变量VAR1并初始化其值“test”,

    然后我们用echo $VAR1命令显示变量VAR1的值,这时VAR1的值可以正常显示。

    接着我们用unset -v VAR1命令删除变量VAR1,

    最后我们再用echo $VAR1 命令显示变量VAR1的值时,就没有值显示了。

    user@Myhost : ~ # VAR1="test"
    user@Myhost : ~ # echo $VAR1
    test
    user@Myhost : ~ # unset -v VAR 1
    user@Myhost : ~ # echo $VAR1

    user@Myhost : ~ #

    六、 export命令:显示或将变量提升成环境变量

    export命令的功能是用于将变量提升成环境变量,亦可将Shell函数输出为环境变量。

    通常,用户个人创建出的变量只能在自己账户下使用,其他用户是无法看到的。

    若想让每个用户都能看到并有权利去使用变量值的话,则需要使用export命令进行提升操作。

    语法格式:export [参数] [变量]

    常用参数:

    -f :设置函数名称

    -n :删除指定变量

    -o :创建JSON文件路径

    -p :显示所有环境变量

    -s :设置文件来源

    实例1:显示所有环境变量

    user@Myhost : ~ # export -p

    export BACRUP='1'
    export EDITOR='vi'
    export ENU='/home/tc/.ashrc'
    export FILEMGR
    export FLUM TITLEBAR_ COLOR='58:7D :AA’
    export G_ FILENAME ENCODING='iso8859-1'
    export HOME='/home/tc'
    export LANG= '0'
    export LC_ALL
    export LD_LIBRARY_PATH
    export LOGNAME='tc'
    export MANPAGER='less -isR'
    export PAGER='less - EM '
    export PATH='/home/tc/.local/bin:/usr/local/sbin:/usr/local/bin:/apps/bin:/usr/sbin:/usr/bin:/sbin:/bin
    export PS1='user@Myhost : \W # '
    export PWD= '/home/tc'
    export SHELL='/bin/sh'
    export SHLVL='1'
    export TERM='linux'
    export USER= 'USER'
    export VAR1
    export _= 'clear'
    export ignoreeof
    user@Myhost : ~ # 

    实例2:定义一个变量VAR1,初始值为"123"并提升成环境变量:

  • 相关阅读:
    CSS构建基础(一)CSS构建
    【英语:基础进阶_原著扩展阅读】J1.英文原著的选择和有效阅读方法
    详解module.exports与exports,export与export default,import 与require
    GhostScript 沙箱绕过(命令执行)漏洞(CVE-2018-19475)复现
    阿里云国际站如何助力餐饮行业出海?
    【淘宝API】商品详情+搜索商品列表接口
    本地搭建Stable-Diffusion 教程
    Linux篇【5】:Linux 进程概念(二)
    substring 和 substr 的区别
    Github 程序员加速 http和ssh代理设置
  • 原文地址:https://blog.csdn.net/Purpleendurer/article/details/133470852