`

我使用过的Linux命令之export - 设置或显示环境变量

阅读更多

我使用过的Linux命令之export - 设置或显示环境变量

本文链接:http://codingstandards.iteye.com/blog/1138524   (转载请注明出处)

 

用途说明

export命令可以用来设置或显示环境变量。在shell中,当一个变量创建时,只会在当前的shell中有 效,之后创建的子进程不会有该变量。而命令export可以将一个shell变量变成环境变量,在随后创建的子进程中也能访问到该环境变量,但是子进程在 修改了环境变量的值之后,父进程并不能知道,因为子进程将复制父进程的环境变量。因此,当shell退出时,那些在该shell中export出来的环境 变量也会消失。

在Linux中,有几个比较相近的命令:set, env和export,它们都可以用来打印shell中的变量。set命令显示当前shell的变量,包括当前shell的环境变量;env命令显示当前 shell的环境变量;export命令显示当前导出成环境变量的shell变量。

 

常用参数

格式:export

格式:export -p

打印当前导出的环境变量。

 

格式:export VAR

导出变量VAR。

 

格式:export VAR=VALUE

设置环境变量,并导出。

 

格式:export -n VAR

取消导出变量VAR。

 

格式:unset VAR

删除变量VAR。

 

使用示例

示例一 打印环境变量

[root@jfht ~]# export -p
declare -x ANT_HOME="/usr/apache/apache-ant-1.7.1"
declare -x CVS_RSH="ssh"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="jfht"
declare -x INPUTRC="/etc/inputrc"
declare -x JAVA_HOME="/usr/java/jdk1.6.0_20"
declare -x LANG="zh_CN.GB18030"
declare -x LESSOPEN="|/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
declare -x LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:"
declare -x MAIL="/var/spool/mail/root"
declare -x OLDPWD
declare -x PATH="/usr/kerberos/sbin:/usr/kerberos/bin:/usr/apache/apache-ant-1.7.1/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
declare -x PWD="/root"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass"
declare -x SSH_AUTH_SOCK="/tmp/ssh-XONvzI3100/agent.3100"
declare -x SSH_CLIENT="27.115.25.30 26926 2622"
declare -x SSH_CONNECTION="27.115.25.30 26926 211.103.28.26 2622"
declare -x SSH_TTY="/dev/pts/5"
declare -x TERM="linux"
declare -x USER="root"
[root@jfht ~]#

 

示例二 一个关于变量export效果的测试

首先,准备一个简单的shell脚本,取名为xyz.sh,用于打印变量XYZ的值。

[root@jfht ~]# cat xyz.sh
#!/bin/sh

echo $XYZ

[root@jfht ~]# chmod +x xyz.sh

现在,在当前shell中没有定义XYZ变量。

[root@jfht ~]# echo $XYZ

 

[root@jfht ~]# (echo $XYZ)

 

[root@jfht ~]# export -p | grep XYZ
[root@jfht ~]# ./xyz.sh

[root@jfht ~]#

现在,定义变量XYZ。

[root@jfht ~]# XYZ=123

[root@jfht ~]# echo $XYZ
123
[root@jfht ~]# (echo $XYZ)
123
[root@jfht ~]# export -p | grep XYZ

[root@jfht ~]# ./xyz.sh

[root@jfht ~]#

现在,导出变量XYZ。

[root@jfht ~]# export XYZ
[root@jfht ~]# echo $XYZ
123
[root@jfht ~]# (echo $XYZ)
123
[root@jfht ~]# export -p | grep XYZ
declare -x XYZ="123"
[root@jfht ~]# ./xyz.sh
123
[root@jfht ~]#

现在,取消导出。

[root@jfht ~]# export -n XYZ       
[root@jfht ~]# echo $XYZ
123
[root@jfht ~]# (echo $XYZ)
123
[root@jfht ~]# export -p | grep XYZ
[root@jfht ~]# ./xyz.sh

[root@jfht ~]#

现在,删除变量。

[root@jfht ~]# unset XYZ
[root@jfht ~]# echo $XYZ

[root@jfht ~]# (echo $XYZ)

[root@jfht ~]# export -p | grep XYZ
[root@jfht ~]# ./xyz.sh

[root@jfht ~]#

 

问题思考

相关资料

【1】旅途 关于linux的export命令和shell变量的生命周期
http://www.cppblog.com/mydriverc/archive/2009/09/16/96476.html
【2】中国IT实验室 linux保存export出来的环境变量
http://tech.e800.com.cn/articles/2010/55/1273035447311_1.html
【3】留住你的每一感悟 linux export 的作用
http://www.cublog.cn/u2/87706/showart_1958932.html
【4】玉米疯收 在Linux里设置环境变量的方法(export PATH)
http://www.cnblogs.com/amboyna/archive/2008/03/08/1096024.html

 

返回 我使用过的Linux命令系列总目录

 

1
1
分享到:
评论

相关推荐

    Linux环境变量命令说明

    Set env export linux环境变量

    Linux配置JDK环境变量

    过程如下: 1. 先从网上下载jdk(jdk-1_5_0_02-linux-i586.rpm) ,推荐SUN的...3.在终端使用echo命令检查环境变量设置情况。 #echo $JAVA_HOME #echo $CLASSPATH #echo $PATH 4.检查JDK是否安装成功。 #java -version

    学习笔记《LINUX+SHELL脚本攻略》Sarath Lakshman

    Linux export命令用于设置或显示环境变量。 在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该次登陆操作。 语法 export [-fnp]...

    浅析linux环境变量export命令详解

    由host $ export DVSDK=”${HOME}/ti-dvsdk_dm368-evm_xx_xx_xx_xx”引发的问题 1、${HOME}:首先, HOME 是个变量,它...功能说明:设置或显示环境变量。(比如我们要用一个命令,但这个命令的执行文件不在当前目录,

    Linux环境变量配置echo PATH

    linux环境变量Linux环境变量是一种在操作系统中存储值的方法,这些值可以用于控制系统行为或为进程提供信息。在Linux操作系统中,PATH变量是最常用的环境变量之一,它指定了操作系统搜索可执行文件的路径。如果您要...

    详解Linux环境变量配置全攻略

    export命令显示当前系统定义的所有环境变量 echo $PATH命令输出当前的PATH环境变量的值 这两个命令执行的效果如下 uusama@ubuntu:~$ export declare -x HOME=/home/uusama declare -x LANG=en_US.

    Linux环境变量配置的完整攻略

    Linux环境变量配置 ... export命令显示当前系统定义的所有环境变量 echo $PATH命令输出当前的PATH环境变量的值 这两个命令执行的效果如下 uusama@ubuntu:~$ export declare -x HOME=/home/uusama declare -x

    led驱动-各种版本的mplayer-arm+linux-gnueabi-5.4.0.tar.xz+Qt-Embedded-5.

    LED驱动:GEC6818开发板上的灯驱动 各种版本的mplaye: 音视频播放器,使用命令即可播放,支持win10和开发板,应用于各种场合,...(2)配置一下环境变量 export PATH=你的新的arm-linux-gcc所在的路径:$PATH //一次性的

    linux 32位的jdk8,版本:jdk-8u221-linux-i586.rpm

    使用ftp工具将jdk-8u191-linux-i586.rpm传至linux系统,移动到/usr/local下,chmod 755 jdk-8u191-linux-i586.rpm 赋权,使用rpm -ivh jdk-8u191-linux-i586.rpm安装配置环境变量,vi /etc/profile,在末尾(就是最...

    jmeter在linux系统下运行及本地内存调优的方法详解

    3.配置jmeter环境变量 vim /etc/profile 添加 export PATH=/apache-jmeter-4.0/bin/:$PATH 注意路径 4.使用 rz命令上传jdk1.8 linux 64位版本 解压到 usr/local 目录下 下载jdk安装包 下载地址:...

    linux下安装ImageMagick-6.5+JMagick -6.4 经测试成功的

    然后注销当前用户重新登录,便于环境变量修改生效,执行:convert logo: logo.gif 看是否正确生成一个logo.gif的图片文件。 ======================================================= 如果要在Web Application ...

    linux下的网络调试工具

    32位linux下的网络调试工具,需要保证你的QT环境变量已经配置,如果没有配置参考:export QTDIR=/usr/local/Trolltech/Qt-4.8.5 export PATH=$QTDIR/bin:$PATH export MANPATH=$QTDIR/man:$MANPATH export LD_...

    linux CentOS 系统php和mysql命令加入到环境变量中

    在Linux CentOS系统上安装完php和MySQL后,为了使用方便,需要将php和mysql命令加到系统命令中,如果在没有添加到环境变量之前,执行“php -v”命令查看当前php版本信息时时,则会提示命令不存在的错误,下面我们...

    Apache-tomcat-6.0.53 for Linux(Redhat/CentOS测试通过)

    提供tomcat6 for linux,给急需使用的朋友应急,官网上不好找了。Redhat6.6下测试通过。安装说明: 1.解压并且解包 输入命令:tar -zxvf apache-tomcat-6.0.53.tar.gz 在目录下有apache-tomcat-6.0.53文件夹,重命名...

    Linux查看History记录加时间戳的小技巧

    Linux查看History记录加时间戳小技巧 熟悉bash的都一定知道使用history可以输出你曾经输入过的历史命令...通过设置环境变量 export HISTTIMEFORMAT=%F %T `whoami` 给history加上时间戳  [root@servyou_web ~]# exp

    JDK1.6,Linux 64位

    配置环境变量 /etc/profile (非必要操作,因为 IDEA 可以直接选择 1.6 所在目录,无需添加环境变量) export JAVA_HOME=/opt/jdk1.6 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_...

    nginx-1.22.1-install.tar.gz,Linux环境编译后免安装Nginx压缩包

    内容概要:该安装包为1.22.1版本的 nginx 源码包...2.使用命令配置环境变量:export PATH=$PATH:/usr/local/nginx/sbin 3.使用命令测试是否配置成功:nginx -v 资源亲测可用,整理不易,还请各位大佬简单打赏一下。

    linux_jdk1.8-x64.gz

    解压后直接可用,配置环境变量 mv ./jdk1.8.111(解压后目录) /usr/local/jdk18 //移动文件到自己模板目录 vi /etc/profile //输入 export JAVA_HOME=/usr/local/jdk18 export CLASSPATH=./:$CLASSPATH:$JAVA_HOME/...

    Linux中的jdk8以及安装教程.zip

    4.在Linux中配置环境变量: 先 sudo vi /etc/profile 进入了vi编辑模式 然后按下i键 光标移到最后一行 输入下列内容: export JAVA_HOME=/usr/java/jdk/jdk1.8.0_221/ export CLASSPATH=$JAVA_HOME/lib/tools.jar:$...

Global site tag (gtag.js) - Google Analytics