LinuxSir.cn,穿越时空的Linuxsir!

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

这段代码为什么不能设置环境变量值?

[复制链接]
发表于 2004-10-18 10:03:12 | 显示全部楼层 |阅读模式
目标:设置代理服务器的环境变量值
过程:在shell环境下,使用命令:
        export "http_proxy"="http://168.168.168.254:80"
        export "ftp_proxy"="http://168.168.168.254:21"
        成功完成目标任务,用export命令可以看到环境变量http_proxy、ftp_proxy"
       
        为寻求方便,打算使用脚本程序:
          
#! /bin/sh
http_proxy="http://168.168.168.254:80"
ftp_proxy="http://168.168.168.254:21"
export http_proxy
export ftp_proxy
这段代码在执行完毕后并没有在当前shell环境中留下变量设置值
变量随着程序的结束消失了,为什么?
发表于 2004-10-18 10:10:04 | 显示全部楼层
因为脚本是在子shell中执行,而子shell中的变量是不会export到父shell的。你可以试试用source foo.sh来执行你的脚本。
 楼主| 发表于 2004-10-18 10:17:55 | 显示全部楼层

谢谢,我试试

谢谢
 楼主| 发表于 2004-10-18 10:20:40 | 显示全部楼层

OK!That's right!

成功了
但是感觉这样的方法很奇怪
难道脚本就没有方法直接设置父shell环境变量的方法吗?
请赐教
发表于 2004-10-18 12:11:18 | 显示全部楼层
用脚本是可以设置的的
那就得看你是怎么执行脚本的了
去看看那个shell十三问吧,讲得好清楚的!
 楼主| 发表于 2004-10-18 13:01:16 | 显示全部楼层

非常感谢

这个13问太好了!
再次感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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