LINUX 环境变量总结

LINUX 环境变量总结

我们在Linux下安装系统软件的时候,经常遇到一些系统环境变量配置的问题。什么是环境变量?如何定制环境变量?我将在下面做一些介绍。

一、什么是环境变量?

Linux是一个多用户的操作系统。多用户意味着每个用户登录系统后,都有自己专用的运行环境。而这个环境是由一组变量所定义,这组变量被称为环境变量。用户可以对自己的环境变量进行修改以达到对环境的要求。

二、定制环境变量 

环境变量是和Shell紧密相关的,它是通过Shell命令来设置的。环境变量又可以被所有当前用户所运行的程序所使用。对于bash来说,可以通过变量名来访问相应的环境变量。

下面通过几个实例来说明

1.显示环境变量HOME 

$ echo $HOME

/home/admin

2.设置一个新的环境变量NAME

$ export NAME=
RaidCheng


$ echo $NAME

RaidCheng

3.使用env命令显示所有的环境变量 

$ env

HOSTNAME=test

TERM=vt100

SHELL=/bin/bash

HISTSIZE=1000

SSH_CLIENT=202.xxx.xxx.xxx 53694 22

CATALINA_BASE=/usr/local/jakarta-tomcat

SSH_TTY=/dev/pts/0

ANT_HOME=/usr/local/ant

JAVA_OPTS=-server

USER=admin

4.使用set命令显示所有本地定义的Shell变量 

$ set

BASH=/bin/bash

BASH_VERSINFO=([0]=
2
 [1]=
05b
 [2]=
0
 [3]=
1
 [4]=
release
 [5]=
i386-redhat-linux-gnu
)

BASH_VERSION=
2.05b.0(1)-release


CATALINA_BASE=/usr/local/jakarta-tomcat

CATALINA_HOME=/usr/local/jakarta-tomcat

5.使用unset命令来清除环境变量 

$ export NAME=
RaidCheng


$ echo $NAME

RaidCheng

$ unset NAME

$ echo $NAME

6.使用readonly命令设置只读变量 

$ export NAME=
RaidCheng


$ readonly NAME

$ unset NAME

-bash: unset: NAME: cannot unset: readonly variable

$ NAME=
New
 #会发现此也变量不能被修改

-bash: TEST: readonly variable

三、常见的环境变量 

PATH      决定了shell将到哪些目录中寻找命令或程序

HOME      当前用户主目录

HISTSIZE    历史记录数

LOGNAME     当前用户的登录名 

HOSTNAME    指主机的名称

SHELL      前用户Shell类型 

LANGUGE     语言相关的环境变量,多语言可以修改此环境变量

MAIL      当前用户的邮件存放目录 

PS1       基本提示符,对于root用户是#,对于普通用户是$

PS2       附属提示符,默认是“>”

四、通过C程序来访问和设置环境变量 

对于C程序的用户来说,可以使用下列三个函数来设置或访问一个环境变量。 

getenv()访问一个环境变量。输入参数是需要访问的变量名字,返回值是一个字符串。如果所访问的环境变量不存在,则会返回NULL

setenv()在程序里面设置某个环境变量的函数

unsetenv()清除某个特定的环境变量的函数

另外,还有一个指针变量environ,它指向的是包含所有的环境变量的一个列表。下面的程序可以打印出当前运行环境里面的所有环境变量:

#include 

extern char**environ;

int main ()

{

char**var;

for (var =environ;*var !=NULL;++var)

printf (
%s /n 
,*var);

return 0;

}

五、环境变量文件

通过修改一些相关的环境定义文件来修改环境变量,比如对于RedHat,与环境相关的文件有/etc/profile和~/.bash_profile等。修改完毕后重新登录一次或运行命令source xxx就生效了。

转载于:https://my.oschina.net/lxtesc/blog/115241

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110187.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • hadoop集群老的资源管理Mrv1与Yarn资源管理器的工作流程和对比

    hadoop集群老的资源管理Mrv1与Yarn资源管理器的工作流程和对比hadoop集群老的资源管理Mrv1与Yarn资源管理器的工作流程和对比

    2022年4月23日
    43
  • php实时刷新数据_批量短网址php搭建

    php实时刷新数据_批量短网址php搭建http协议介绍:http协议是请求/响应范式的,每一个http响应都是由一个对应的http请求产生的;http协议是无状态的,多个http请求之间是没有关系的.http长连接:目前http协议普遍使用的是1.1版本,之前有个1.0版本,两者之间的一个区别是1.1支持http长连接,或者叫持久连接.1.0不支持http长连接,每次一个ht…

    2022年10月14日
    4
  • 华为ensp安装包_华为服务器安装系统教程

    华为ensp安装包_华为服务器安装系统教程什么是eNSPeNSP是由华为公司研发并且免费供大家使用的图形化网络操作平台,主要是对各大企业的网络。路由器,以及交换机路由器进行模拟,呈现一个真实的场景,让用户能模拟练习网络技术!软件特点还原实景1,可模拟华为的AR路由器,部分交换机以及客户端实现企业网和运营商的图面呈现2,可以模拟客户机终端,云,中继交换机等3,仿真设备功能,快速的学习华为命令。快速了解华为命令4,可以通过真实网卡实现与真实设备的对接5,模拟接口抓包,可以很直观的看到协议的交互过程。具体图文安装步骤详解..

    2022年10月14日
    1
  • eplanwin10激活码获取_在线激活

    (eplanwin10激活码获取)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1STL5S9V8F-eyJsaWN…

    2022年3月27日
    310
  • pycharm2021.11.3激活教程【中文破解版】「建议收藏」

    (pycharm2021.11.3激活教程)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html6EK6WKOHUX-eyJsaWNlbnNlSWQi…

    2022年3月28日
    45
  • O2O:互联网的另一种变异形式

    O2O:互联网的另一种变异形式

    2021年8月27日
    62

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号