一、环境变量配置文件介绍1、环境变量的作用环境变量配置文件主要定义了系统默认的对系统运行环境起作用的环境变量,比如如PATH、HISTSIZE、PS1、HOSTNAME等。2、source命令修改配置文件后,注销重新登录后生效。无需重新登录,使用source命令即可使配置文件生效。语法源配置文件或。配置文件示例[root~]#source.bashrc[root~]#..bashrc3。主环境变量配置文件/etc/profile/etc/profile.d/*.sh~/.bash_profile~/.bashrc/etc/bashrc4。环境变量配置文件加载顺序正常Login`/etc/profile`——>`~/.bash_profile`——>`~/.bashrc`——>`/etc/bashrc`——>命令提示符||——>`/etc/profile.d/*.sh`——>`/etc/profile.d/lang.sh`——>`/etc/locale.conf`未正常登录(使用su命令切换用户)`/etc/bashrc`——>命令提示符||——>`/etc/profile.d/*.sh`——>`/etc/profile.d/lang.sh`——>`/etc/locale.conf`二、环境变量配置文件功能1./etc/profile文件的功能USER变量LOGNAME变量MAIL变量PATH变量HOSTNAME变量HISTSIZE变量umask遍历调用/etc/profile。d/*.sh文件示例/etc/profile文件,省略部分内容#/etc/profile#PATHvariablepathmunge(){case":${PATH}:"in*:"$1":*);;*)如果["$2"="之后"];然后PATH=$PATH:$1elsePATH=$1:$PATHfiesac}if[-x/usr/bin/id];那么如果[-z"$EUID"];然后#kshworkaroundEUID=`/usr/bin/id-u`UID=`/usr/bin/id-ru`fi#USER变量USER="`/usr/bin/id-un`"#LOGNAME变量LOGNAME=$USER#MAILvariableMAIL="/var/spool/mail/$USER"fi#HOSTNAMEvariableHOSTNAME=`/usr/bin/hostname2>/dev/null`#HISTSIZEvariableHISTSIZE=1000#声明为环境变量exportPATHUSERLOGNAME邮件主机名HISTSIZEHISTCONTROL#/usr/share/doc/setup-*/uidgidfile#defineumaskif[$UID-gt199]&&["`/usr/bin/id-gn`"="`/usr/bin/id-un`"];然后umask002elseumask022fi#遍历并调用/etc/profile.d/*.sh/etc/profile.d/sh中的`/etc/profile.d/*.sh`文件。当地的;如果[-r"$i"]做;那么如果["${-#*i}"!="$-"];然后。"$i"其他。"$i">/dev/nullfifidone2./etc/bashrc文件的作用PS1变量PATH变量umask遍历调用/etc/profile.d/*.sh文件示例/etc/bashrc文件,省略部分内容#/etc/bashrc#areweaninteractiveshell?#PS1变量if["$PS1"];然后if[-z"$PROMPT_COMMAND"];然后case$TERMinxterm*|vte*)if[-e/etc/sysconfig/bash-prompt-xterm];然后PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xtermelif["${VTE_VERSION:-0}"-ge3405];然后PROMPT_COMMAND="__vte_prompt_command"elsePROMPT_COMMAND='printf"\033]0;%s@%s:%s\007""${USER}""${HOSTNAME%%.*}""${PWD/#$HOME/~}"'fi;;屏幕*)if[-e/etc/sysconfig/bash-prompt-screen];然后PROMPT_COMMAND=/etc/sysconfig/bash-prompt-screenelsePROMPT_COMMAND='printf"\033k%s@%s:%s\033\\""${USER}""${HOSTNAME%%.*}""${PWD/#$HOME/~}"'fi;;*)[-e/etc/sysconfig/bash-prompt-default]&&PROMPT_COMMAND=/etc/sysconfig/bash-prompt-default;;esacfi#打开并行历史shopt-shistappendhistory-a#打开checkwinsizeshopt-scheckwinsize["$PS1"="\\s-\\v\\\$"]&&PS1="[\u@\h\W]\\$"fi#----------只有非常正常登录的shell才会执行下面的脚本-----------------if!shopt-qlogin_shell;然后#We不是登录shell#需要重新定义pathmunge,它在/etc/profile的末尾未定义#PATH变量pathmunge(){case":${PATH}:"in*:"$1":*);;*)如果["$2"="之后"];然后PATH=$PATH:$1elsePATH=$1:$PATHfiesac}#/usr/share/doc/setup-*/uidgidfile#umaskif[$UID-gt199]&&["`/usr/bin/id-gn`"="`/usr/bin/id-un`"];thenumask002elseumask022fiSHELL=/bin/bash#traversecall`/etc/profile.d/*.sh`filesforiin/etc/profile.d/*.sh;如果[-r"$i"]做;那么如果["$PS1"];然后。"$i"其他。"$i">/dev/nullfifidonefi3.~/.bash_profile文件的函数调用~/.bashrc文件,在PATH变量后添加:$HOME/binThisdirectoryinstance~/.bash_profilefile#.bash_profile#calledthe`~/.bashrc`fileif[-f~/.bashrc];吨母鸡。~/.bashrcfi#在PATH变量后添加`:$HOME/bin`,此目录PATH=$PATH:$HOME/binexportPATH4。~/.bashrc文件的功能定义别名调用/etc/bashrc文件例子~/.bashrc,部分内容省略#.bashrc#Call`/etc/bashrc`fileif[-f/etc/bashrc];然后。/etc/bashrcfi#definealiasll='ls-AlhF--color=auto'aliasla='ls-A'aliasl='ls-CF'aliasvi='vim'三、其他文件1、环境变量配置注销时有效的文件~/.bash_logout2。历史命令存储文件~/.bash_history3.shell登录信息文件登录时显示的欢迎信息/etc/moted不管是本地登录还是远程登录,都可以显示这个文件的内容信息/etc/issue.net远程终端欢迎信息要显示这个欢迎信息,由ssh配置文件/etc/ssh/sshd_config决定。需要在ssh配置文件中加入“Banner/etc/issue.net”这一行,重启ssh服务才能生效。/etc/issue本地终端欢迎信息由于大部分服务器使用远程登录,所以本地终端欢迎信息的设置意义不大。本地终端欢迎信息支持转义符功能\d显示当前系统日期\s显示操作系统名称\l显示登录终端号\m显示硬件架构,如i386/i686\n显示主机名\o显示域name\r显示内核版本\t显示当前系统时间\u显示当前登录用户的序列号
