linux 环境变化,Linux下关于环境变量的一些心得

一、Linux下环境变量的定义

首先,环境变量分为两种,系统环境变量和用户环境变量。

系统环境变量对所有用户都有效,二用户环境变量只对某个用户有效。

Linux下,环境变量被分别保存在多个文件中。

第一级:

/etc/profile

该文件在用户第一次登录的时候被加载(?引用他处,为什么是第一次登录),也是操作系统定义环境变量时读取的第一个文件。

此文件为所有的用户设置环境信息。

在我使用的Ubuntu 10.10中,该文件默认并没有直接定义全局变量,而是通过读取/etc/profile.d 、/etc/profile.d/*.sh和/etc/bash.bashrc。

第二级:

/etc/environment

该文件是用户在登录操作系统之后,操作系统配置环境时所使用的第二个文件。

顾名思义,该文件中保存了一系列环境变量,这些变量将对所有的用户和终端起效。

到这一级为止,文件定义的都是系统环境变量,之后的文件都是在定义用户变量。

第三级:

~/.bash_profile

在登录的时候配置环境所用到的第三个文件。

值得注意的是在不同Linux中,这个文件的名字不同,可能的名字有~/.bash_profile、~/.bash_login、~./profile其中的一种或者几种。www.linuxidc.com如果存在的话,执行的顺序为~/.bash_profile、~/.bash_login、~/.profile。

在我手里的Ubuntu10.10中,只有一个~/.profile

在我的操作系统中,该文件定义了变量的使用,通常情况下第四级中的~/.bashrc被忽略。

第四级:

~/.bashrc

该文件包含了专用于一个用户的bash的环境信息,每次登录或者新开shell的时候(包括在图形界面下打开新的终端),该文件被读取。

该文件只会在新开的终端中起效。原有终端不会受到影响。

~/.bash_logout

该文件在每次退出bash的时候被执行。

二、Linux下环境变量的使用

1、shell命令

set显示当前shell的变量,包括了当前用户的变量。

注意,"shell的变量"包括当前用户的一系列文件以及shell自身的变量,比如BASH、BASH_ARGC等。

shell变量的定义可以通过直接输入命令"aaa=bbb",来实现定义变量aaa的值为bbb。

在我手中的Ubuntu10.10中这个命令如果不带参数直接执行的话,不会显示变量,而是显示了大量的代码。

若要查询某个shell变量的值,可以使用命令"set|grep 变量名"。

env则只显示当前用户的变量。

export若不带参数则显示用户变量的shell变量,若带参数,则将该shell参数添加至用户变量。

readonly命令可以将变量设定为只读,只读的参数不能被修改或者删除。

2、C程序命令

getenv()返回一个环境变量。

setenv()设置一个环境变量。

unsetenv()清除一个环境变量。

3、常见的环境变量

PATH:决定了shell将在哪些目录中寻找命令和程序

HOME:当前用户的主目录

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

SHELL:当前用户用的是那种Shell

HISTSIZE:保存历史命令记录的条数

LOGNAME:当前用户的登录名

HOSTNAME:主机的名称。

LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量

PS1:基本提示符,对于root是#,对于普通用户为$,在我手中的ubuntu10.10中则是一个字符串,显示了用户名、系统名和当前目录名在内的信息。

PS2:是附属提示符,默认是">"。可以修改此环境变量来修改当前的命令符。0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值