/etc/profile - 环境变量

一、此文件涉及系统的环境,即环境变量相关。这里修改会对所有用户起作用。/etc/profile会首先执行/etc/profile.d/目录下的所有*.sh文件。

       1. Linux是一个多用户操作系统。用户登录或切换(即Login shell 启动)时都有一个专用的运行环境,但首先执行 /etc/profile 。而Non-login shell 不会调用这个脚本。各用户的默认环境(一组环境变量的定义)一般相同。用户也可以自行配置运行环境,即修改相应的系统环境变量。

        2. 在 /etc/profile 文件中设置的变量是全局变量。而 .bashrc文件(在用户的家目录下)则只对当前用户有用。~/.bashrc、~/.bash_file 是当前用户目录下的配置信息。修改后用 source 命令更新。

  3. 操作环境变量:(在profile文件添加或修改的内容需要注销系统才能生效。同名的环境变量,后写入的起作用)

                Ⅰ.在文件末尾添加环境变量(引号可省略):"NAME=<name>"

                Ⅱ.添加一个customer.sh文本文件到 /etc/profile.d/目录。

                     写入环境变量:export PATH=$PATH:/opt/lamp/mysql/bin

                     立即生效:source /etc/profile(下一次登陆也会生效)。

        4. 常见的环境变量:(最好通过在/etc/profile.d/路径下新建脚本,修改环境变量),一些软件会新建自己的环境变量

-rw-r--r--. 1 root root 1127 4月  17 2012 colorls.csh
-rw-r--r--. 1 root root 1143 4月  17 2012 colorls.sh
-rw-r--r--. 1 root root   92 9月  21 2012 cvs.csh
-rw-r--r--. 1 root root   78 9月  21 2012 cvs.sh
-rw-r--r--. 1 root root  192 2月   3 2012 glib2.csh
-rw-r--r--. 1 root root  192 2月   3 2012 glib2.sh
-rw-r--r--. 1 root root 1741 2月  22 2013 lang.csh
-rw-r--r--. 1 root root 2706 2月  22 2013 lang.sh
-rw-r--r--. 1 root root  122 2月   7 2007 less.csh
-rw-r--r--. 1 root root  108 2月   7 2007 less.sh
-rw-r--r--. 1 root root  976 9月  24 2011 qt.csh
-rw-r--r--. 1 root root  912 9月  24 2011 qt.sh
-rw-r--r--. 1 root root   97 4月   5 2012 vim.csh
-rw-r--r--. 1 root root  269 4月   5 2012 vim.sh
-rw-r--r--. 1 root root  169 5月  20 2009 which2.sh

        PATH: 预设可执行文件或命令的搜索路径。env命令显示所有的环境变量 。环境变量以" : "分开。环境变量名前" $ "符号表示该变量本次定义之前的值。

        USER: 用户登录时使用的用户名。

        HOME:当前用户主目录

        SHELL:是指当前用户用的是哪种Shell。set命令显示所有本地定义的Shell变量。

        LOGNAME:指当前用户的登录名。其值为$USER。

        HOSTNAME:所使用的主机名。供应用程序使用。

        PS1:基本提示符(格数如下,用法如右):export PS1="[\u@\h \w]\$"

                \d :代表日期,格式为weekday month date,例如:Wed Dec 12

                \H :完整的主机名称。例如:hostname是debian.linux

                \h :仅取主机的第一个名字,如上例,则为debian,.linux则被省略

                \t :显示时间为24小时格式,如:HH:MM:SS

                \T :显示时间为12小时格式

                \A :显示时间为24小时格式:HH:MM

                \u :当前用户的账号名称 如:root

                \v :BASH的版本信息  如:3.2

                \w :完整的工作目录名称。家目录会以 ~代替 如显示/etc/default/

                \W :利用basename取得工作目录名称,只会列出最后一个目录。如上例则只显示default

                \# :下达的第几个命令

                \$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$ 

        PS2:附属提示符,默认为“>”。 具体参考    http://os.51cto.com/art/201205/334954.htm

        MAIL: 存放用户电子邮件的邮箱(ASCII码文件)。

        HISTSIZE: 保存的历史记录数。

        INPUTRC: 存放的是针对键盘热键的信息(ASCII码文件)。

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

        5. 使环境变量生效:source /etc/profile  或者  ./profile,执行一下文件。但不能用 sh /etc/profile。sh 是在子 shell 进程中执行的,即使PATH改变了也不会反应到当前环境中。而 source 是在当前 shell 进程中执行的,所以我们能看到PATH的改变。

        6. export 相当于导出变量。" = "赋值符号定义的变量只在当前shell中可用,外部(子shell中)使用时,定义时需要用export A=“xxx”,或在使用时 使用export A。 如果希望下载软件后不加入路径就能启动该程序,要把可执行程序的路径加入 PATH 中。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章