LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 807|回复: 4

设置环境变量脚本的执行问题

[复制链接]
发表于 2007-6-10 10:35:38 | 显示全部楼层 |阅读模式
在一个普通脚本中进行环境变量的设置,如文件test:

export DOIT=never

在shell下执行 ./test 之后, 用 env | grep DOIT 查看,发现变量未正确设置。从网上找到方法,在执行文件前加 ". " 执行后环境变量正确设置。。

但,知其然不知其所以然,有请路过大侠指教

:thank

=============

继续搜索, 原来用source + 脚本的方法也能正确设置环境变量,效果同上。这次解释基本明白,脚本设置的,是它所在的子shell的环境变量。但". "代表的意义,跟source一样么?
发表于 2007-6-10 11:00:44 | 显示全部楼层
  1. $ man bash
复制代码
找到 SHELL BUILTIN COMMANDS 节
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-10 12:00:34 | 显示全部楼层
收到,多谢

- 字数破解补丁-
回复 支持 反对

使用道具 举报

发表于 2007-6-10 12:37:54 | 显示全部楼层
.  表示当前shell

直接运行,表示新开一个shell,那么环境变量设置的只是那个新开的shell的环境变量,而程序结束后,那个shell也就退出了,因此就无法保留了。

好象还可以使用
source ./test 来设置环境变量

不知这么理解是否正确?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-11 17:14:21 | 显示全部楼层
在二楼的指点里  
.
source 是排在一起的。。压根就是一回事。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表