Linux环境变量的设置和查看方法
Linux环境变量的设置和查看方法
1. 显示环境变量HOME
[root@AY1404171530212980a0Z ~]# echo $HOME
/root
2. 设置一个新的环境变量hello
[root@AY1404171530212980a0Z ~]# export staticFile='/alidata/www/static/frame'
[root@AY1404171530212980a0Z ~]# echo $staticFile
/alidata/www/static/frame
3. 使用env命令显示所有的环境变量
[root@AY1404171530212980a0Z ~]# env
HOSTNAME=AY1404171530212980a0Z
TERM=vt100
SHELL=/bin/bash
HISTSIZE=
SSH_CLIENT=14.18.25.250
SSH_TTY=/dev/pts/
JRE_HOME=/usr/local/java/jdk1..0_55/jre
USER=root
LS_COLORS=rs=:di=;:ln=;:mh=:pi=;:so=;:do=;:bd=;;:cd=;;:or=;;:mi=;;;:su=;:sg=;:ca=;:tw=;:ow=;:st=;:ex=;:*.tar=;:*.tgz=;:*.arj=;:*.taz=;:*.lzh=;:*.lzma=;:*.tlz=;:*.txz=;:*.zip=;:*.z=;:*.Z=;:*.dz=;:*.gz=;:*.lz=;:*.xz=;:*.bz2=;:*.tbz=;:*.tbz2=;:*.bz=;:*.tz=;:*.deb=;:*.rpm=;:*.jar=;:*.rar=;:*.ace=;:*.zoo=;:*.cpio=;:*.7z=;:*.rz=;:*.jpg=;:*.jpeg=;:*.gif=;:*.bmp=;:*.pbm=;:*.pgm=;:*.ppm=;:*.tga=;:*.xbm=;:*.xpm=;:*.tif=;:*.tiff=;:*.png=;:*.svg=;:*.svgz=;:*.mng=;:*.pcx=;:*.mov=;:*.mpg=;:*.mpeg=;:*.m2v=;:*.mkv=;:*.ogm=;:*.mp4=;:*.m4v=;:*.mp4v=;:*.vob=;:*.qt=;:*.nuv=;:*.wmv=;:*.asf=;:*.rm=;:*.rmvb=;:*.flc=;:*.avi=;:*.fli=;:*.flv=;:*.gl=;:*.dl=;:*.xcf=;:*.xwd=;:*.yuv=;:*.cgm=;:*.emf=;:*.axv=;:*.anx=;:*.ogv=;:*.ogx=;:*.aac=;:*.au=;:*.flac=;:*.mid=;:*.midi=;:*.mka=;:*.mp3=;:*.mpc=;:*.ogg=;:*.ra=;:*.wav=;:*.axa=;:*.oga=;:*.spx=;:*.xspf=;:
MAIL=/var/spool/mail/root
PATH=/usr/local/java/jdk1..0_55/bin:/usr/local/java/jdk1..0_55/jre/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/alidata/server/mysql/bin:/alidata/server/nginx/sbin:/alidata/server/php/sbin:/alidata/server/php/bin:/root/bin
staticFile=/alidata/www/static/frame
PWD=/root
JAVA_HOME=/usr/local/java/jdk1..0_55
LANG=zh_CN.GB18030
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
HISTCONTROL=ignoredups
SHLVL=
HOME=/root
LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN
LOGNAME=root
CLASSPATH=.:/usr/local/java/jdk1..0_55/lib:/usr/local/java/jdk1..0_55/jre/lib:
SSH_CONNECTION=14.18.25.250 115.29.201.6
LESSOPEN=|/usr/bin/lesspipe.sh %s
G_BROKEN_FILENAMES=
_=/bin/env
4. 使用set命令显示所有本地定义的Shell变量
[root@AY1404171530212980a0Z ~]# set
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:login_shell:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([]="" []="" []="" []="" []="release" []="x86_64-redhat-linux-gnu")
BASH_VERSION='4.1.2(1)-release'
CLASSPATH=.:/usr/local/java/jdk1..0_55/lib:/usr/local/java/jdk1..0_55/jre/lib:
COLORS=/etc/DIR_COLORS
COLUMNS=
DIRSTACK=()
EUID=
GROUPS=()
G_BROKEN_FILENAMES=
HISTCONTROL=ignoredups
HISTFILE=/root/.bash_history
HISTFILESIZE=
HISTSIZE=
HOME=/root
HOSTNAME=AY1404171530212980a0Z
HOSTTYPE=x86_64
ID=
IFS=$' \t\n'
JAVA_HOME=/usr/local/java/jdk1..0_55
JRE_HOME=/usr/local/java/jdk1..0_55/jre
LANG=zh_CN.GB18030
LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN
LESSOPEN='|/usr/bin/lesspipe.sh %s'
LINES=
LOGNAME=root
LS_COLORS=rs=:di=
MACHTYPE=x86_64-redhat-linux-gnu
MAIL=/var/spool/mail/root
MAILCHECK=
OPTERR=
OPTIND=
OSTYPE=linux-gnu
PATH=/usr/local/java/jdk1..0_55/bin:/usr/local/java/jdk1..0_55/jre/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/alidata/server/mysql/bin:/alidata/server/nginx/sbin:/alidata/server/php/sbin:/alidata/server/php/bin:/root/bin
PIPESTATUS=([]="")
PPID=
PS1='[\u@\h \W]\$ '
PS2='> '
PS4='+ '
PWD=/root
SHELL=/bin/bash
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
SHLVL=
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
SSH_CLIENT='14.18.25.250 46163 22'
SSH_CONNECTION='14.18.25.250 46163 115.29.201.6 22'
SSH_TTY=/dev/pts/
SUPPORTED=zh_CN.GB18030:zh_CN:zh:en_US.UTF-:en_US:en
TERM=vt100
UID=
USER=root
_=clear
colors=/etc/DIR_COLORS
staticFile=/alidata/www/static/frame
__udisks ()
{
local IFS='
';
local cur="${COMP_WORDS[COMP_CWORD]}";
if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--show-info" ]; then
COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));
else
if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--inhibit-polling" ]; then
COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));
else
if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--mount" ]; then
COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));
else
if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--unmount" ]; then
COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));
else
if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--detach" ]; then
COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));
else
if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--ata-smart-refresh" ]; then
COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));
else
if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--ata-smart-simulate" ]; then
_filedir || return ;
else
if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--set-spindown" ]; then
COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));
else
if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--poll-for-media" ]; then
COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));
else
COMPREPLY=($(IFS=: compgen -W "--dump:--inhibit-polling:--inhibit-all-polling:--enumerate:--enumerate-device-files:--monitor:--monitor-detail:--show-info:--help:--mount:--mount-fstype:--mount-options:--unmount:--unmount-options:--detach:--detach-options:--ata-smart-refresh:--ata-smart-wakeup:--ata-smart-simulate:--set-spindown:--set-spindown-all:--spindown-timeout:--poll-for-media" -- $cur));
fi;
fi;
fi;
fi;
fi;
fi;
fi;
fi;
fi
}
5. 使用unset命令来清除环境变量
set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。示例如下:
$ export TEST="Test..." #增加一个环境变量TEST
$ env|grep TEST #此命令有输入,证明环境变量TEST已经存在了
TEST=Test...
$ unset TEST #删除环境变量TEST
$ env|grep TEST #此命令没有输出,证明环境变量TEST已经存在了
[root@AY1404171530212980a0Z ~]# echo $TEST [root@AY1404171530212980a0Z ~]# export TEST='test'
[root@AY1404171530212980a0Z ~]# env |grep TEST
TEST=test
[root@AY1404171530212980a0Z ~]# unset TEST
[root@AY1404171530212980a0Z ~]# env |grep TEST
[root@AY1404171530212980a0Z ~]#
6. 使用readonly命令设置只读变量
如果使用了readonly命令的话,变量就不可以被修改或清除了。示例如下:
$ export TEST="Test..." #增加一个环境变量TEST
$ readonly TEST #将环境变量TEST设为只读
$ unset TEST #会发现此变量不能被删除
-bash: unset: TEST: cannot unset: readonly variable
$ TEST="New" #会发现此也变量不能被修改
-bash: TEST: readonly variable
[root@AY1404171530212980a0Z ~]# echo $TEST
readonly
[root@AY1404171530212980a0Z ~]# readonly TEST
[root@AY1404171530212980a0Z ~]# unset TEST
-bash: unset: TEST: cannot unset: readonly variable
[root@AY1404171530212980a0Z ~]# $TEST=
-bash: readonly=: command not found
[root@AY1404171530212980a0Z ~]#
环境变量的设置位于/etc/profile文件
如果需要增加新的环境变量可以添加下属行
export path=$path:/path1:/path2:/pahtN
1.Linux的变量种类
按变量的生存周期来划分,Linux变量可分为两类:
1.1 永久的:需要修改配置文件,变量永久生效。
1.2 临时的:使用export命令声明即可,变量在关闭shell时失效。
2.设置变量的三种方法
2.1 在/etc/profile文件中添加变量【对所有用户生效(永久的)】
用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
例如:编辑/etc/profile文件,添加CLASSPATH变量
# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。
2.2 在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】
用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。
例如:编辑guok用户目录(/home/guok)下的.bash_profile
$ vi /home/guok/.bash.profile
添加如下内容:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改文件后要想马上生效还要运行$ source /home/guok/.bash_profile不然只能在下次重进此用户时生效。
2.3 直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】
在shell的命令行下直接使用[export 变量名=变量值] 定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量 也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。
2.4 在/etc/profile.d 目录下新建一个可读文件
如:
# vi /etc/profile.d/commons.sh export STATIC_FILE=/alidata/www/static/frame/
export CLUSTER_CLASSES=/alidata/server/tomcat/apache-tomcat-7.0.-cluster-/webapps/frame/WEB-INF/classes
export CLUSTER_PATH=/alidata/server/tomcat/apache-tomcat-7.0.-cluster-/
export BACKEND_PATH=/alidata/server/tomcat/apache-tomcat-7.0.-backend/
export BACKEND_CLASSES=/alidata/server/tomcat/apache-tomcat-7.0.-backend/webapps/backend/WEB-INF/classes
3.环境变量的查看
3.1 使用echo命令查看单个环境变量。例如:
echo $PATH
3.2 使用env查看所有环境变量。例如:
env
3.3 使用set查看所有本地定义的环境变量。
unset可以删除指定的环境变量。
3.4.常用的环境变量
PATH 决定了shell将到哪些目录中寻找命令或程序
HOME 当前用户主目录
HISTSIZE 历史记录数
LOGNAME 当前用户的登录名
HOSTNAME 指主机的名称
SHELL 当前用户Shell类型
LANGUGE 语言相关的环境变量,多语言可以修改此环境变量
MAIL 当前用户的邮件存放目录
PS1 基本提示符,对于root用户是#,对于普通用户是$
Linux环境变量的设置和查看方法的更多相关文章
- Proving Equivalences(缩点+有环图变强连通分量)【tarjian算法】
Proving Equivalences 题目链接(点击) 参考博客(点击) Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768 ...
- 简单练习题2编写Java应用程序。首先定义一个描述银行账户的Account类,包括成员变 量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。其次, 编写一个主类,在主类中测试Account类的功能
编写Java应用程序.首先定义一个描述银行账户的Account类,包括成员变 量“账号”和“存款余额”,成员方法有“存款”.“取款”和“余额查询”.其次, 编写一个主类,在主类中测试Account类的 ...
- Linux 下安裝 Java SE Development Kit(JDK)並配置環境變量
下載頁面:http://www.oracle.com/technetwork/java/javase/archive-139210.html 打開“Java SE 7”,再打開“Java SE Dev ...
- Win下httpd+php+mysql环境集成
apache+php+mysql: php下载: VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的, VC9就是the Visual Studio ...
- 使用Editplus和Dev C++配置C++的编译运行环 境
或许大家会有疑问,为何不直接使用VC;VS;或Dev这些IDE呢?何必舍近求远.主要是因为写程序这么多年来已经习惯了Editplus,包括他的快捷键,语法自动完成,语法提示等等,Editplus用了这 ...
- VMWare里安装64位Linux 的方法
1.CPU AMD系列的CPU略过 Intel系列的CPU芯片需要支持EM64T和VT技术才行,并且BIOS也要支持才可以. 为了确定你的Intel CPU是否支持VT,请查看: http://com ...
- 执行oracle函数的四种方法
1.在定义函数时:如果有参数,则参数可有类型但是不加长度. 2.在执行函数: var/variable var_name var_type(如果数据类型是number则没有长度,如果数据类型是varc ...
- 编写Java应用程序。首先定义一个描述银行账户的Account类,包括成员变 量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。其次, 编写一个主类,在主类中测试Account类的功能
package com.hanqi.test; //银行账号 public class account { private String zhanghao;//账号 //私有余额 private do ...
- 首先定义一个描述银行账户的Account类,包括成员变 量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。其次, 编写一个主类,在主类中测试Account类的功能。(已完善)
package java1; public class Account { String zhanghao; double yue=0; double add; double get; Account ...
随机推荐
- Git - Eclipse 提交工程至 GitHub
1. 在 GitHub 新建一个工程 hello-world,repository 地址是 https://github.com/username/hello-world.git 2. 在 Eclip ...
- 剑指offer_快速查找递增二维数组中是否存在目标
[编程题]二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...
- ios开发入门篇(四):UIWebView结合UISearchBar的简单用法
UIWebView是ios开发中比较常用的一个控件.我们可以用它来浏览网页.打开文档等,今天笔者在这里简单介绍下UIWebView和UISearchBar结合起来的用法,做一个简单的类浏览器. 一: ...
- Ajax和JSON基础
Ajax (核心是XMLHttpRequest对象) 1.XMLHttpRequest对象: request=new XMLHttpRequest() 支持Firefox opera Safari ...
- css3学习笔记之图片
圆角图片 border-radius: 圆角图片: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <!DOCTYPE html> <htm ...
- Java-IO 输入输出流详解
一.文件的编码 开发时一定要注意项目默认的编码!!!!!!!! 文件操作的时候一定要记得关闭!!!!!!!! ASCII:美国标准 ...
- alter和alert的一些问题
今天在Java学习群里看到有人问:用alert能不能修改表结构?我第一反应是,alert是弹窗啊,怎么修改表结构?后来再看才知道,是那人打错了!我也晕了一下,还是记一下吧!alter是修改表结构的,a ...
- JavaScript异步获取数据解析
<script type="text/javascript"> var xhr=false; function createXhr() { var x ...
- AngularJS(9)-表单
AngularJS 表单是输入控件的集合 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- Javascript中最常用的55个经典技巧
Javascript中最常用的55个经典技巧1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键<table ...