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为失败.


  • 相关阅读:
    ArchLinux and LXDE and LXDM
    如何改变X:\Users\XXX的用户名称
    Windows 7 支持4GB以上内存破解工具下载
    Linux & Vim Command Wallpaper
    The easy way to execute sudo command in Python using subprocess.Popen
    C# DateTime 精确到秒/截断毫秒部分
    制约程序员"钱途"的两大最关键因素
    Oracle基本操作
    字符串处理【Delphi版】
    java学习路线的经验之谈
  • 原文地址:https://www.cnblogs.com/tianzhiyun/p/9465233.html
Copyright © 2011-2022 走看看