LinuxSir.cn,穿越时空的Linuxsir!

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

脚本中的export怎么不起作用?

[复制链接]
发表于 2006-7-2 14:09:36 | 显示全部楼层 |阅读模式
我编写了一个简单的脚本:
export PROJCT=MyProj

执行后,我调用export.查看,并没有看到PROJECT变量.执行echo $PROJECT输出也是空的.
但是在命令行直接执行export PROJCT=MyProj 就没有问题.
这是怎么回事呢?
发表于 2006-7-2 19:15:06 | 显示全部楼层
一个脚本有自己的一套环境变量之类的东西,退出之后就不存在了,如果想要在当前的 shell 环境中执行的话,可以使用 source 命令。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-2 19:20:30 | 显示全部楼层
哦,知道了,谢谢pluskid
回复 支持 反对

使用道具 举报

发表于 2006-7-2 19:34:01 | 显示全部楼层
用 .  也可以。

. ./script.sh
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-2 21:36:47 | 显示全部楼层
哦~ 点号还可以这样用.真是!@##%$#^%
多谢终极幻想!
回复 支持 反对

使用道具 举报

发表于 2006-7-2 21:52:15 | 显示全部楼层
  1. $ help .
  2. .: . filename [arguments]
  3.      Read and execute commands from FILENAME and return.  The pathnames
  4.     in $PATH are used to find the directory containing FILENAME.  If any
  5.     ARGUMENTS are supplied, they become the positional parameters when
  6.     FILENAME is executed.
复制代码
这个是 bash 专有的吧?
回复 支持 反对

使用道具 举报

发表于 2006-7-2 21:55:15 | 显示全部楼层
no, zsh, ksh都有的
回复 支持 反对

使用道具 举报

发表于 2006-7-3 11:40:22 | 显示全部楼层
scripts.sh :

export PROJCT=MyProj
echo $PROJECT

sh scritps.sh
result: MyProj

我现在好像可以阿,我以前写脚本的时候好像也不可以。。
回复 支持 反对

使用道具 举报

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

本版积分规则

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