zoukankan      html  css  js  c++  java
  • linux全套 | Linux的环境变量 | 17

    常用的环境变量

    linux环境变量也称之为Shell环境变量,也遵循标识符规范,但是习惯上使用大写字母,例如PATH,JAVA_HOME,LANG等.

    查看环境变量

    env 查看当前用户的全部环境变量

    使用env命令的时候,满屏显示了很多环境变量,不方便查看,可以使用grep筛选.

    env | grep PATH

    echo $环境变量名字 输出指定的环境变量

    设置环境变量

    (1)

    变量名='值'
    export 变量名
    

    (2) 推荐下面这种写法

    export 变量名='值'
    

    说明: 如果环境变量的值没有空格等特殊符号,可以不用单引号包含.

    注意: 如果采用export设置的环境变量,在退出Shell后就会失效,下次登录需要重新设置. 如果希望环境变量永久生效,需要在登录脚本文件中配置.

    下面以配置Python环境为例子

    cd /etc/profile.d  进入全局环境变量的脚本目录
    vim python3.sh  编写环境变量的脚本
    =====python3.sh=====
    export PYTHON_HOME=/opt/python3.7
    export PATH=${PYTHON_HOME}/bin:$PATH
    ====================
    source /etc/profile  更新全局的配置脚本
    

    系统环境变量

    系统环境变量对全部的用户生效,设置系统环境变量有三种方法.

    1. etc/profile文件中设置(不推荐)

    用户登录时执行/etc/profile文件中的设置系统的环境变量.

    但是,linux不建议在/etc/profile中设置系统环境变量.

    1. /etc/profile.d目录中增加环境变量脚本文件.这是linux推荐的方法

    /etc/profile在每次启动时会执行/etc/profile.d下全部的脚本文件.

    /etc/profile.d/etc/profile好维护,不想要变量直接删除对应的.sh文件即可.

    1. /etc/bashrc文件中设置环境变量

    该文件配置的环境变量会影响全部用户使用bash shell.

    但是linux也不建议在/etc/bashrc中设置系统环境变量.

    用户环境变量

    1. .bash_profile (推荐)

    当用户登录时执行,每个用户都可以使用该文件来配置专属自己的环境变量.

    1. .bashrc

    当用户登录时以及每次打开新的Shell时该文件都将被读取.

    不推荐在里面配置用户专用的环境变量,因为每开一个Shell,该文件都会被读取一次,效率肯定受影响.

    1. .bash_logout

    当每次退出系统(退出bash shell)时执行该文件.

    1. .bash_history

    保存了当前用户使用过的历史命令.

    重要的环境变量的详解

    PATH环境变量

    可执行程序的搜素目录,可执行程序包括linux系统命令和用户的的应用程序.

    如果可执行程序的目录不在PATH指定的目录中,执行是需要执行目录.

    1. PATH环境变量存放的是目录列表,目录之间用冒号:分隔(类似windows的分号)

    2. PATH默认包含了linux系统命令的所在目录/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin, 如果不包含这些目录,linux的常用命令也无法执行(需要输出绝对路径才能执行)

    3. 如果PATH最后没有加:.,那么执行当前目录下的程序需要加./或使用绝对路径.

    4. PATH进行扩充的例子 export PATH=$PATH:$HOME/bin

    环境变量的生效

    1. Shell下,用export设置的环境变量对当前的Shell立即生效,Shell退出后失效

    2. 在脚本文件中设置的环境变量不会立即生效,退出Shell后重新登录,或使用source 配置脚本

    应用经验

    虽然设置环境变量的方式有多种,但是建议系统环境变量在/etc/profile.d中进行配置,用户环境变量在~/.bash_profile, 不建议在其他脚本中配置环境变量,会增加运维的麻烦,容易出错.

  • 相关阅读:
    Docker初识
    57、android 应用内全局通知的实现方法
    56、使用android studio(v1.3.*)修改包名 (rename package name)
    55、android app借助友盟实现微信授权登录
    54、edittext输入类型限制为ip,inputType应该如何设置
    53、listview、expandableListview如何选中时保持高亮?
    52、sb犯的错误
    51、如何提取android代码中的字符串为系统资源文件 (I18N)
    50、转自知乎上android开发相见恨晚的接口
    49、android studio 使用技巧记录
  • 原文地址:https://www.cnblogs.com/Rowry/p/13991875.html
Copyright © 2011-2022 走看看