zoukankan      html  css  js  c++  java
  • Linux学习笔记之Linux环境变量总结

    0x00 概述

    Linux是一个多用户多任务的操作系统,可以在Linux中为不同的用户设置不同的运行环境,具体做法是设置不同用户的环境变量。

    0x01 Linux环境变量分类

    按照生命周期来分,Linux环境变量可以分为两类:

    # 1、永久的:需要用户修改相关的配置文件,变量永久生效。
    # 2、临时的:用户利用export命令,在当前终端下声明环境变量,关闭Shell终端失效。

    按照作用域来分,Linux环境变量可以分为:

    # 1、系统环境变量:系统环境变量对该系统中所有用户都有效。
    # 2、用户环境变量:顾名思义,这种类型的环境变量只对特定的用户有效。

    0x02 Linux设置环境变量的方法

    2.1 对所有用户生效(永久的)

    /etc/profile文件中添加变量 
    vim在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
    例如:编辑/etc/profile文件,添加CLASSPATH变量

     vim /etc/profile    
     export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

    注:修改文件后要想马上生效还要运行source /etc/profile不然只能在下次重进此用户时生效。

    2.2 对单一用户生效(永久的)

    在用户目录下的.bash_profile文件中增加变量 
    vim ~/.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。

    vim ~/.bash.profile
    export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

    注:修改文件后要想马上生效还要运行$ source ~/.bash_profile不然只能在下次重进此用户时生效。

    2.3 只对当前shell(BASH)有效(临时的)

    直接运行export命令定义变量
    在shell的命令行下直接使用export 变量名=变量值
    定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。


    0x03 Linux环境变量使用

    3.1 Linux中常见的环境变量有:

    • PATH:指定命令的搜索路径
    # PATH声明用法:
    PATH=$PAHT:<PATH 1>:<PATH 2>:<PATH 3>:--------:< PATH  n >
    export PATH
    # 你可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效。
    # 可以利用echo $PATH查看当前当前系统PATH路径。
    • HOME:指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)。
    • HISTSIZE:指保存历史命令记录的条数。
    • LOGNAME:指当前用户的登录名。
    • HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的
    • SHELL:指当前用户用的是哪种Shell。
    • LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
    • MAIL:指当前用户的邮件存放目录。
    # 注意:上述变量的名字并不固定,如HOSTNAME在某些Linux系统中可能设置成HOST

    3.2 Linux也提供了修改和查看环境变量的命令

    下面通过几个实例来说明:

    • echo 显示某个环境变量值 echo $PATH
    • export 设置一个新的环境变量 export HELLO="hello" (可以无引号)
    • env 显示所有环境变量
    • set 显示本地定义的shell变量
    • unset 清除环境变量 unset HELLO
    • readonly 设置只读环境变量 readonly HELLO

    3.3 C程序调用环境变量函数

    • getenv()返回一个环境变量。
    • setenv()设置一个环境变量。
    • unsetenv()清除一个环境变量。

    参考

  • 相关阅读:
    .NET Interop 工具集
    关于正弦波的算法
    Windows Phone 系列 本地数据存储
    Xaml cannot create an instance of “X”
    Windows Phone 系列 使用 MVVM绑定时无法获取当前值
    Windows Phone 系列 应用程序图标无法显示
    Windows Phone 系列 WPConnect无法上网的问题
    Windows Phone 系列 使用 Windows Phone 保存铃声任务
    WP7.5提交应用
    Windows Phone 系列 动态删除ObservableCollection
  • 原文地址:https://www.cnblogs.com/JetpropelledSnake/p/10364733.html
Copyright © 2011-2022 走看看