分页: 1 / 1

求助,关于多个脚本用一个外部变量

发表于 : 2010-03-08 17:42
phymal
我现在用ubuntu9.10在脚本里设置了环境变量这样写
export PATH=/home/phymal/gcc/bin:$PATH
echo $PATH
存为ent.sh
终端里运行 ./ent.sh
显示/home/phymal/gcc/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
紧接着 再在终端里输入echo $PATH
却显示成了
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
为什么?我在前面加上export了,怎么还是只在脚本里有效?难道不是应该在重启前一直有效吗?
怎么才能让多个终端或脚本用一个外部变量阿?

解决方法:
终端里运行source ./ent.sh
因为export的作用域是文件,出了文件就没了。

Re: 求助,关于多个脚本用一个外部变量

发表于 : 2010-03-08 17:46
BigSnake.NET
环境变量是进程的属性,不是一个全局的属性

Re: 求助,关于多个脚本用一个外部变量

发表于 : 2010-03-08 17:49
eexpress
什么都是文件。

Re: 求助,关于多个脚本用一个外部变量

发表于 : 2010-03-09 16:39
cosechy
方法一:
用.命令调用脚本
比如. ent.sh,注意空格
这时候ent.sh里的变量和函数在退出的时候会保留,注意用exit也会退出外面的bash,不要用这个
方法二:
作为一个函数写进bashrc,然后可以用普通命令的方式调用,适用于手工调用的情况,更方便一点
比如ent(){ xxx;}这样
其他问题同上