- 浏览: 4752276 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
bzhao:
你也应该可以这样:(not tested)./rbtunnel ...
在Bash脚本中怎么关闭文件描述符? -
bzhao:
如果有A进程原代码情况下,通过如下调用,把他的子进程继承关闭则 ...
在Bash脚本中怎么关闭文件描述符? -
Master-Gao:
楼主咋没分析下源码呢?
我使用过的Linux命令之dirname - 截取给定路径的目录部分 -
jiedushi:
tail -F 就可以吧
Linux下实时跟踪log4j日志文件的bash脚本 - 增强了tail -f的功能 -
java_is_new:
新手学习了,就是不明白为一个网卡配多个ip有什么用
我使用过的Linux命令之ifconfig - 网络配置命令
我使用过的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用tar归档压缩文件时忽略某些文件和目录
2013-02-01 10:19 17046在Linux下,常用tar对文 ... -
使用nmap扫描服务器端口的一次操作
2012-11-01 17:00 15135使用nmap扫描服务器端口的一次操作 本文来自:http ... -
我使用过的Linux命令之wget - ooo
2011-09-14 13:10 0我使用过的Linux命令之wg ... -
推荐一篇学习Vim使用的好文:酷壳 - 简明 Vim 练级攻略
2011-09-09 12:53 9144简明 Vim 练级攻略 http://coolshell.c ... -
推荐一篇学习Vim使用的好文:酷壳 - 简明 Vim 练级攻略
2011-09-09 12:49 1简明 Vim 练级攻略 http://coolshell.c ... -
我使用过的Linux命令之:(冒号) - 啥也不做(除了……)
2011-08-29 13:18 12094我使用过的Linux命令之: ... -
我使用过的Linux命令之date - 显示、修改系统日期时间
2011-08-25 09:21 41976我使用过的Linux命令之da ... -
我使用过的Linux命令之declare - 声明shell变量(不知道没关系、知道了就更好的内建命令)
2011-08-16 09:22 21823我使用过的Linux命令之declare - 声明shell变 ... -
我使用过的Linux命令之alias - 设置命令的别名,让 Linux 命令更简练
2011-08-11 09:31 28815我使用过的Linux命令之alias - 设置命令的别名,让 ... -
我使用过的Linux命令之ar - 创建静态库.a文件
2011-08-08 10:40 51927我使用过的Linux命令之ar - 创建静态库.a文件 本 ... -
我使用过的Linux命令之crontab - 设置例行任务(类似于Windows中的任务计划)
2011-08-04 22:26 9744我使用过的Linux命令之crontab - 设置例行任务(类 ... -
我使用过的Linux命令之chmod - 改变文件/目录的访问权限
2011-08-03 21:33 10700我使用过的Linux命令之chmod - 改变文件/目录的访问 ... -
我使用过的Linux命令之wc - 统计文件行数、单词数或字节数
2011-07-26 10:50 29005我使用过的Linux命令之wc - 统计文件行数、单词数或字节 ... -
我使用过的Linux命令之groupdel - 删除群组
2011-07-22 22:13 9684我使用过的Linux命令之gr ... -
我使用过的Linux命令之ifconfig - 网络配置命令
2011-07-21 20:43 60526我使用过的Linux命令之ifconfig - 网络配置命令 ... -
我使用过的Linux命令之ll - 列出文件/目录的详细信息
2011-07-20 21:22 7203我使用过的Linux命令之ll ... -
我使用过的Linux命令之mkdir - 创建目录
2011-07-20 20:58 13680我使用过的Linux命令之mkdir - 创建目录 本文链 ... -
我使用过的Linux命令之perror - 解释错误代码
2011-07-18 20:29 25074我使用过的Linux命令之perror - 解释错误代码 ... -
我使用过的Linux命令之ping - 测试与目标主机的连通性
2011-07-16 10:46 26600我使用过的Linux命令之ping - 测试与目标主机的连通性 ... -
我使用过的Linux命令之route - 显示和操作IP路由表
2011-07-15 15:25 35254我使用过的Linux命令之route - 显示和操作IP路由表 ...
相关推荐
- 可以直接在命令行中使用 `export` 命令来临时设置环境变量,这种设置仅在当前 shell 会话中有效: ```bash export PATH=$PATH:/path1:/path2:/pathN ``` #### 四、查看已设置的环境变量 1. **使用`echo`命令...
### Linux环境变量命令详解 #### 一、环境变量概述 在Linux系统中,环境变量扮演着极其重要的角色,它们不仅定义了用户的工作环境,还决定了应用程序的行为方式。环境变量是一组特殊的变量,由一系列键值对组成,...
在Linux中设置环境变量,最常见的方法是在终端中使用export命令,但当需要一次性设置多个环境变量时,逐个敲入export命令显然效率低下,为此,可以采用批处理脚本的方式来高效配置。 首先,我们来解释一下什么是...
可以使用export命令来设置一个新的环境变量。 ``` $ export HELLO="Hello!" $ echo $HELLO Hello! ``` 5.3 使用 env 命令显示所有的环境变量 可以使用env命令来显示所有的环境变量。 ``` $ env SSH_AGENT_PID=1875 ...
- 可以通过`export`命令来定义一个环境变量,并使用`echo`命令来显示它的值。例如: ```bash $ export WELCOME="Hello!" $ echo $WELCOME Hello! ``` 3. **查看所有环境变量:** - 使用`env`命令可以列出...
环境变量的定义和赋值方法与本地变量类似,但是需要使用`export`命令来将变量标记为环境变量: - **定义与赋值语法**: - `VARIABLE-NAME=value export VARIABLE-NAME` - 上面的两行命令可以合并为一行,使用以下...
4. **env命令**:显示当前环境中的所有环境变量,而`set`命令则显示所有本地定义的Shell变量,包括环境变量和非环境变量。 5. **read命令**:配合`export`可用于从用户输入创建环境变量,例如`read -p "Enter a ...
为了使新设置的环境变量生效,可以采用重新登录的方式,而不是重启整个系统: ```bash # logout ``` 重新登录后,在终端输入`arm-linux-gcc –v`命令,如果能看到关于编译器版本的信息,则说明交叉编译环境已成功...
可以使用`export`命令临时设置环境变量,但该设置只存在于当前shell会话。例如,要设置`JAVA_HOME`为`/usr/lib/jvm/java-8-openjdk`,可以输入: ``` export JAVA_HOME=/usr/lib/jvm/java-8-openjdk ``` 2. **...
若要设置新的环境变量,可以使用`export`命令,如`export HELLO="Hello!"`。之后,使用`echo $HELLO`就能看到新设置的变量值。 `env`命令可以用来显示系统中所有当前生效的环境变量,而`set`命令则会列出所有当前...
在IT行业中,尤其是在JavaScript开发领域,管理环境变量是一项常见的任务,因为不同的开发环境(如Windows、macOS或Linux)可能需要不同的环境变量设置。`cross-env`是一个非常实用的Node.js模块,它允许你在不同...
1. **使用 `echo` 命令检查**:通过执行以下命令来验证环境变量是否正确设置: - `echo $JAVA_HOME` - `echo $CLASSPATH` - `echo $PATH` 2. **检查JDK安装状态**:运行 `java -version` 命令以确保JDK已成功...
1. **临时修改**:通过在命令行中直接使用 `export` 命令来修改环境变量。这种方式仅在当前会话中有效。 2. **永久修改**:通过编辑配置文件来实现对环境变量的持久化配置。 - **/etc/profile**:该文件中的设置对...
shell 脚本环境变量可以通过多种方式来设置和使用,例如使用 export 命令来设置环境变量,使用 ${变量名} 来获取环境变量的值等。 参数 ---------- 环境变量的参数可以是字符串、数字、数组等多种类型。环境变量...
- export用于设置或显示环境变量; - fbset用于设置帧缓冲参数; - grpconv和grpunconv用于转换和取消转换用户组到阴影密码; - insmod和rmmod用于插入和移除内核模块; - kbdconfig用于配置键盘参数; - lilo和...
了解如何设置和管理环境变量对于日常的Linux使用和系统管理员工作至关重要。 环境变量是系统中的全局变量,可以在不同的Shell会话和程序之间共享。在Linux中,尤其是bash Shell,环境变量的设置通常涉及两个主要的...
1. 使用 export 命令设置环境变量:例如,设置一个新的环境变量 hello,可以使用命令 `$ export HELLO=Hello!`。 2. 使用 env 命令显示所有的环境变量:例如,使用命令 `$ env`可以显示所有的环境变量。 3. 使用 ...
例如,使用 export 命令设置一个新的环境变量 MYNAME='my name is kevin',然后可以使用 echo 命令来显示环境变量的值,例如 $ echo $MYNAME。 3. 环境变量的分类 环境变量可以分为两类:系统环境变量和用户环境...
使用`set`命令查看或设置环境变量 `set`命令可以显示当前Shell中定义的所有变量(包括环境变量和其他变量)。例如: ```bash set ``` 这将显示所有变量的列表。 ##### 4. 使用`unset`命令删除环境变量 如果想...