Linux:设置环境变量
时间:2020-01-09 10:43:37 来源:igfitidea点击:
Bash shell在Linux下用于各种目的。
如何在Linux操作系统下自定义shell环境变量?
您可以使用Shell变量来存储数据,设置配置选项以及在Linux下自定义Shell环境。
默认shell程序是Linux下的Bash,可用于以下目的:
- 配置shell的外观。
- 根据您使用的终端来设置终端设置。
- 设置搜索路径,例如JAVA_HOME和ORACLE_HOME。
- 根据程序需要设置环境变量。
- 登录或者注销时,运行要运行的命令。
- 设置别名和/或者shell程序功能可自动执行任务以节省打字和时间。
- 更改bash提示。
- 设置shell选项。
您可以使用以下命令查看和配置环境。
显示当前环境
执行以下命令:
$ set
输出示例:
BASH=/bin/bash BASH_ARGC=() BASH_ARGV=() BASH_LINENO=() BASH_SOURCE=() BASH_VERSINFO=([0]="3" [1]="2" [2]="25" [3]="1" [4]="release" [5]="x86_64-redhat-linux-gnu") BASH_VERSION='3.2.25(1)-release' COLORS=/etc/DIR_COLORS.xterm COLUMNS=237 CVS_RSH=ssh DIRSTACK=() EUID=0 GROUPS=() G_BROKEN_FILENAMES=1 HISTFILE=/root/.bash_history HISTFILESIZE=1000 HISTSIZE=1000 HOME=/root HOSTNAME=server3.www.p.theitroad.local HOSTTYPE=x86_64 IFS=$' \t\n' INPUTRC=/etc/inputrc LANG=en_US.UTF-8 LESSOPEN='|/usr/bin/lesspipe.sh %s' LINES=64 LOGNAME=root LS_COLORS='no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:' MACHTYPE=x86_64-redhat-linux-gnu MAIL=/var/spool/mail/root MAILCHECK=60 OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin PIPESTATUS=([0]="0") PPID=35469 PROMPT_COMMAND='echo -ne "3]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "$ echo "$HOME"7"' PS1='[\u@\h \W]$ ' PS2='> ' PS4='+ ' PWD=/root SHELL=/bin/bash SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor SHLVL=1 SSH_CLIENT='10.1.3.116 44212 22' SSH_CONNECTION='10.1.3.116 44212 10.10.29.68 22' SSH_TTY=/dev/pts/0 TERM=xterm UID=0 USER=root _=set consoletype=pty tmpid=0 genpasswd () { local l=; [ "$l" == "" ] && l=16; tr -dc A-Za-z0-9_ < /dev/urandom | head -c ${l} | xargs } xrpm () { [ "" != "" ] && ( rpm2cpio "" | cpio -idmv ) }
$PATH定义了命令的搜索路径。
它是一个用冒号分隔的目录列表,shell其中搜索命令。
$PS1定义提示设置。
有关更多信息,请参见所有常用的shell变量列表。
您可以使用printf或者echo命令显示变量的值:
$ printf "%s\n" $HOME
或者
/home/Hyman
输出示例:
export PATH=${PATH}:/home/Hyman/bin
在Linux上设置环境变量
您可以使用export命令修改每个环境或者系统变量。
设置PATH环境变量,使其包含使用perl和shell脚本安装bin目录的目录:
export PATH=${PATH}:${HOME}/bin
或者
export PATH=${PATH}:/usr/java/jdk1.5.0_07/bin
要将JAVA_HOME环境变量设置为安装J2SE SDK应用程序的目录,请执行:
export ANT_HOME=/path/to/ant/dir export PATH=${PATH}:${ANT_HOME}/bin:${JAVA_HOME}/bin
您可以如下设置多个路径:
$ vi ~/.bash_proflle
如何使所有设置永久化?
使用控制台登录或者使用ssh远程登录时,将执行~/.bash_profile($HOME/.bash_profile)或者~/.prfile文件。
执行以下命令以编辑~/.bash_profile文件,执行:
export PATH=${PATH}:${HOME}/bin
追加$PATH设置,执行:
export DB2INSTANCE=prod_sales
保存并关闭文件。
设置IBM DB2实例名称
执行以下命令:
##代码##关于/etc/profile文件的注释
/etc/profile包含Linux系统范围的环境和启动程序。
所有使用bash,ksh,sh shell的用户都使用它。
通常用于设置PATH变量,用户限制和其他用户设置。
它仅在登录shell程序上运行。
如果要进行大的更改或者特定于应用程序的更改,请使用/etc/profile.d/目录,如此处和此处所述。