我现在用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的作用域是文件,出了文件就没了。
求助,关于多个脚本用一个外部变量
-
- 帖子: 5
- 注册时间: 2009-04-03 10:45
求助,关于多个脚本用一个外部变量
上次由 phymal 在 2011-03-04 0:51,总共编辑 1 次。
- BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
- 联系:
Re: 求助,关于多个脚本用一个外部变量
环境变量是进程的属性,不是一个全局的属性
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 82
- 注册时间: 2008-03-06 4:56
Re: 求助,关于多个脚本用一个外部变量
方法一:
用.命令调用脚本
比如. ent.sh,注意空格
这时候ent.sh里的变量和函数在退出的时候会保留,注意用exit也会退出外面的bash,不要用这个
方法二:
作为一个函数写进bashrc,然后可以用普通命令的方式调用,适用于手工调用的情况,更方便一点
比如ent(){ xxx;}这样
其他问题同上
用.命令调用脚本
比如. ent.sh,注意空格
这时候ent.sh里的变量和函数在退出的时候会保留,注意用exit也会退出外面的bash,不要用这个
方法二:
作为一个函数写进bashrc,然后可以用普通命令的方式调用,适用于手工调用的情况,更方便一点
比如ent(){ xxx;}这样
其他问题同上