zoukankan      html  css  js  c++  java
  • 环境变量解释以及在Linux下的环境变量设置

    一、环境变量解释

    环境变量是什么?

    引用百度百科里面的解释:环境变量是操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还可以到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。

    为什么需要环境变量?

    windows系统下,假如我们安装了某一款软件,安装结束后,在安装目录会生成一个该软件的.exe文件,双击该文件,我们就能启动软件。但是难道我们每次要运行该软件的时候都要先找到该.exe文件所在的路径,然后双击吗,显然是不可能的,因为我们根本不可能记住所有已安装软件的路径。 这时候就需要环境变量了。下来我们通过例子了解一下。

    QQ举例

    首先安装好QQ,我们不用桌面快捷方式打开它,用Windows的dos窗口打开,进入dos界面后,直接输入QQ回车发现:

    你想要让系统运行一个程序,你首先得告诉它这个程序在哪。所以我们要将QQ的可执行文件位置告诉系统,也就是说将该文件路径给系统。

    将此路径给系统后:

    然后你的QQ就打开了;接着你关掉dos后重新进入,输入QQ发现,又是上面的问题,这就意味着你要从dos打开QQ的话,必须每次进入QQ.exe文件所在路径,每次都得给系统QQ.exe文件的绝对路径;

    所以,就很麻烦,那怎么解决呢?一个一劳永逸的方法就是将QQ.exe的文件路径放在Path环境变量里面,以后要打开QQ就不用每次进入该路径了。如下图所示:

    接下来打开dos输入QQ回车:


    二、Linux下的环境变量解释及设置

    同理,在Linux系统上的环境变量与Windows上的作用类似。在Linux系统,如果你下载并安装应用程序,很有可能在键入它的名称的时候出现 “command not found ” 的提示内容。 如果每次都到安装目录文件夹内,找到可执行文件来进行操作就太繁琐了, 这就需要设置path环境变量了。
    Shell定义的环境变量
    Shell在开始执行的时候就已经定义了一些与系统工作环境有关的变量,用户还可以重新定义这些变量。常用的shell环境变量有以下几种。

    • HOME:用于保存用户主目录的完全路径名。
    • PATH:用于保存用冒号分隔的目录路径名,shell将按PATH变量中给出的顺序搜索这些目录,找到的第一个与命令名称一致的可执行文件将被执行。
    • SHELL:当前用户使用的Shell
    • UID:当前用户的UID
    • LOGNAME:当前用户的登录名
    • HOSTNAME:主机名称

    查看环境变量
    Linux中set 、env 和 export 都可以查看环境变量。

    • set<命令显示当前shell的变量,包括当前用户的变量,set主要用来设置sh的参数与选项
    • env命令显示当前用户的变量,env用来在构建的环境中运行命令
    • export命令显示当前导出成用户变量的shell变量

    这里我们只用 export 命令举例来查看PATH值:

    xxx@xxx:~$ export
    declare -x CLUTTER_IM_MODULE="xim"
    declare -x COMPIZ_CONFIG_PROFILE="ubuntu"
    declare -x DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-RvyK9kjBBX"
    declare -x DEFAULTS_PATH="/usr/share/gconf/ubuntu.default.path"
    declare -x DESKTOP_SESSION="ubuntu"
    declare -x DISPLAY=":0"
    declare -x GDMSESSION="ubuntu"
    declare -x GDM_LANG="en_US"
    declare -x GNOME_DESKTOP_SESSION_ID="this-is-deprecated"
    declare -x GNOME_KEYRING_CONTROL=""
    declare -x GNOME_KEYRING_PID=""
    

    export不加参数的时候,显示哪些变量被导出成了用户变量,因为一个shell自己的变量可以通过 export “导出”变成一个用户变量。

    Linux下环境变量的设置

    如果想将一个路径加入到 $PATH 中,可以有几种方法。比如我想将 /tmp/test 路径加入到 $PATH 变量中:

    1、控制台中设置 (只对当前shell有效)

    执行 export PATH=$PATH:/tmp/test 命令:

    2、修改当前家目录下的 .bashrc 文件 (只对当前用户有效)

    先执行 vim ~/.bashrc 命令,在最末尾加入下面内容,然后 source ~/.bashrc,使配置文件生效。

    export PATH=$PATH:/tmp/test
    

    3、修改/etc/bashrc 文件 (针对所有用户有效)

    先执行 sudo vim /etc/profile 命令,在最末尾加入下面内容,然后 source /etc/profile,使配置文件生效。

    export PATH=$PATH:/tmp/test
    

    注:source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。


    参考:

    为什么要配环境变量?path用来干什么?

    Linux中环境变量的设置

  • 相关阅读:
    linux C总结篇(进程)
    进程与线程的区分
    递归的两种思路
    Linux下git与github的一般使用
    文件读写和文件指针的移动
    文件的创建,打开与关闭
    一个简单脚本
    linux 三剑客命令(grep,sed ,awk)
    常用正则表达式
    PAT:1002. A+B for Polynomials (25) 部分错误
  • 原文地址:https://www.cnblogs.com/linuxAndMcu/p/11022532.html
Copyright © 2011-2022 走看看