zoukankan      html  css  js  c++  java
  • 玩转变量与环境变量

     返回主页面

    假设有一个叫做gedit的应用程序正在运行。我们可以使用pgrep命令获得gedit的进程ID:

        $ pgrep gedit
        12501
    
    那么,你就可以通过以下命令获得与该进程相关的环境变量:
    

    $ cat /proc/12501/environ GDM_KEYBOARD_LAYOUT=usGNOME_KEYRING_PID=1560USER=slynuxHOME=/home/slynux

    上面的命令返回一个包含环境变量以及对应变量值的列表。每一个变量以name=value的形 式来描述,彼此之间由null字符()分隔。如果你将替换成 ,那么就可以将输出重新格式 化,使得每一行显示一组“变量=值”。替换可以使用tr命令来实现:

        $ cat /proc/12501/environ  | tr '' '
    '

    var=value var是变量名,value是赋给变量的值。如果value不包含任何空白字符(例如空格),那么

    它就不需要使用引号进行引用,否则必须使用单引号或双引号。
    

    注意,var = value不同于var=value。把var=value写成var = value是一个常见的错误, 但前者是赋值操作,后者则是相等操作。

    #!/bin/bash #文件名:variables.sh

    fruit=apple
    count=5

    echo "We have $count ${fruit}(s)"

     HTTP_PROXY=192.168.1.23:3128
        export HTTP_PROXY
    

    export命令用来设置环境变量。至此之后,从当前shell脚本执行的任何应用程序都会继承 这个变量。我们可以按照自己的需要,在执行的应用程序或者shell脚本中导出特定的变量。在默 认情况下,有很多标准环境变量可供shell使用。

    PATH就是其中之一。通常,变量PATH包含:

    $ echo $PATH /home/slynux/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr /games

    在给出所要执行的命令后,shell会自动在PATH环境变量所包含的目录列表中(各目录路径之 间以冒号分隔)查找对应的可执行文件。PATH通常定义在/etc/environment/etc/profile~/.bashrc 中。如果需要在PATH中添加一条新路径,可以使用:

        export PATH="$PATH:/home/user/bin"
    

    也可以使用

        $ PATH="$PATH:/home/user/bin"
        $ export PATH
    

    $ echo $PATH /home/slynux/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr /games:/home/user/bin

    这样,我们就将/home/user/bin添加到了PATH中。

    $(#变量) 获取变量的内容的长度

    echo $SHELL获知当前使用的是哪种shell:

    UID是一个重要的环境变量,可以用于检查当前脚本是以超级用户还是以普通用户的身份运 行的

    If [ $UID -ne 0 ]; then
            echo Non root user. Please run as root.
    
        else
            echo Root user
    

    fi

    root用户的UID0

    -eq 等于,如:if ["$a" -eq "$b" ]
    -ne 不等于,如:if ["$a" -ne "$b" ]
    -gt 大于,如:if ["$a" -gt "$b" ]
    -ge 大于等于,如:if ["$a" -ge "$b" ]
    -lt 小于,如:if ["$a" -lt "$b" ]
    -le 小于等于,如:if ["$a" -le "$b" ]
    < 小于(需要双括号),如:(("$a" < "$b"))
    <= 小于等于(需要双括号),如:(("$a" <= "$b"))
    > 大于(需要双括号),如:(("$a" > "$b"))
    >= 大于等于(需要双括号),如:(("$a" >= "$b"))

    另外:$?是shell变量,表示"最后一次执行命令"的退出状态.0为成功,非0为失败.


  • 相关阅读:
    hdu 6702 ^&^ 位运算
    hdu 6709 Fishing Master 贪心
    hdu 6704 K-th occurrence 二分 ST表 后缀数组 主席树
    hdu 1423 Greatest Common Increasing Subsequence 最长公共上升子序列 LCIS
    hdu 5909 Tree Cutting FWT
    luogu P1588 丢失的牛 宽搜
    luogu P1003 铺地毯
    luogu P1104 生日
    luogu P1094 纪念品分组
    luogu P1093 奖学金
  • 原文地址:https://www.cnblogs.com/tianzhiyun/p/9465233.html
Copyright © 2011-2022 走看看