Linux 下的环境变量------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/路径下新建脚本,修改环境变量)

        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 中。

 

 

转自:https://www.jianshu.com/p/1dd22f5b521a



posted @ 2020-06-03 15:09  小Emma的大梦想  阅读(662)  评论(0编辑  收藏  举报