Chinaunix首页 | 论坛 | 博客
  • 博客访问: 160290
  • 博文数量: 126
  • 博客积分: 1073
  • 博客等级: 上尉
  • 技术积分: 1175
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-12 00:32
文章分类

全部博文(126)

文章存档

2018年(56)

2013年(1)

2012年(8)

2011年(61)

分类: LINUX

2011-12-15 14:56:54

系统:2.6.18-164.el5

 

查看/etc/profile时,看到这一个参数:

pathmunge () {

        if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then

           if [ "$2" = "after" ] ; then

              PATH=$PATH:$1

           else

              PATH=$1:$PATH

           fi

        fi

}

大致的作用是:判断当前系统的PATH中是否存在该命令的目录,如果不存在,则判断要将该目录放在PATH之前还是之后。

[root@localhost ~]# echo $PATH

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin

-q, --quiet, --silent

     Quiet; do not write anything to standard output.   Exit  immediately  with  zero status if any match is found, even if an error was detected.  Also see the -s or --no-messages option.

(^|:)$1($|:) 这句比较费解,()和|都是扩展的正则表达式,()查找组,|用或的方式查找字符串,$1表示命令所在的目录,(^|:)($|:)表示以:开头或者以:结尾。整个表达式的意思就是在$PATH输出的开头或以:开头,在$PATH输出的末尾或以:结尾的该目录。

 

linux是一个多用户的操作系统,每个登录的用户都有一个专用的运行环境。在/etc/profile文件中修改的环境变量是对所有用户起作用的,而.bashrc只针对当前用户。

常见的环境变量:

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

HOME:当前用户主目录

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

SHELL:指当前用户用的是哪种shell

HISTSIZE:保存历史记录的条数

LOGNAME:当前用户的登录名

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

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

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

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

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