Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1746759
  • 博文数量: 217
  • 博客积分: 4362
  • 博客等级: 上校
  • 技术积分: 4180
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-20 09:31
文章分类

全部博文(217)

文章存档

2017年(1)

2015年(2)

2014年(2)

2013年(6)

2012年(42)

2011年(119)

2010年(28)

2009年(17)

分类: LINUX

2012-02-29 13:23:45

Linux环境变量学习

1.       Linux常用环境变量有哪些?

PATH说简单点,就是输入命令之后,就会在其中定义的路径当中去查找;

HOME是指用户的工作目录;

HISTSIZE是指保存历史命令记录的条数;

LOGNAME是指当前用户的登录名;

HOSTNAME是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的;

SHELL是指当前用户用的是哪种Shell

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

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

PS1是基本提示符,对于root用户是#,对于普通用户是$PS2是附属提示符,默认是“>”;

IFSshell内定的一个变量,默认定义的值为 3个,这三个值人眼看不到的,这个变量的作用就是把字符串里的这三个字符转换为分隔符。

2.       涉及到的相关命令

env:显示所有的环境变量;

set:显示本地定义的Shell变量;

unset:清除设置的变量(包括环境变量);

export:导出设置的环境变量;

readonly:设置变量为可读,不能修改此变量;

source:后面的参数是文件,表示读取并执行该文件当中的命令你。

如果在C程序中,与环境变量相关的函数有:

getenv()

setenv()

unsetenv()

3.       变量、本地变量和环境变量

变量:按照定义来说变量是存储设备中的一些可读写的存储单元,变量可以定制用户本身的工作环境,使用变量可以保存有用信息,使系统获知用户相关的设置,变量也用于保存暂时的一些信息。

本地变量:本地变量在用户现在的shell生命期的脚本中使用,也就是说,如果退出当前的Shell,那么这个变量就会消失。

环境变量:环境变量用于所有用户进程(经常称为子进程)。登录进程称为父进程。Shell中执行的用户进程均称为子进程。不像本地变量(只用于现在的Shell)环境变量可用于所有子进程,这包括编辑器、脚本和应用。环境变量可以在命令行中设置,但用户注销时这些值将丢失,因此最好在.profile文件中定义。系统管理员可能在/etc/profile文件中已经设置了一些环境变量。将之放入profile文件意味着每次登录时这些值都将被初始化。传统上,所有环境变量均为大写。环境变量应用于用户进程前,必须用export命令导出 。环境变量与本地变量设置方式相同。

4.       有意思的Shell命令提示符

你想让你的命令行提示符变得有意思吗?那就去修改环境变量PS1PS2吧。

例如,我们可以将它们修改为如下:

那么实际的效果会是下面的,如果你的上次命令执行成功的话,就会出现笑脸,否则则是一张哭泣的脸(具体的设置参数可以重新查找资料)。

5.       .bash_profile文件

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件就会被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置。

~/.bash_profile:每个用户都可使用该文件,主要用于自己使用的Shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,他设置一些环境变量,执行用户的~/.bashrc文件。

6.       .bashrc文件

/etc/bashrc:为每一个运行bash shell的用户执行此文件。当bash shell被打开时,该文件被读取。

~/.bashrc:该文件包含当前用户的bash shellbash信息,当登录时以及每次打开新的Shell,该该文件被读取。

7.       bash_logout

~/.bash_logout:当每次退出Shell时,执行该文件。

8.       既然有了~/.bash_profile,为什么还需要~/.bashrc

这两个文件的设置是相同的,对于这个问题,查了一些资料,我是这么想的,.bashrc文件当中主要是设置一些个性化的设置,比如上面说的PS1变量的设置,可以让用户变得灵活,区别不是很大。

9.       getconf

获取系统配置变量。

10.   添加PATH环境变量

也就是修改~/.bash_profile文件,用“:”隔开即可。

阅读(1492) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~