如题所述
如果在一个shell脚本程序中定义了一个变量,当该脚本程序运行时,这个定义的变量只是该脚本程序内的一个局部变量,其他的shell不能引用它,要使某个变量的值可以在其他shell中被改变,可以使用export命令对已定义的变量进行输出。export的效力仅限于该次登陆,重启后失效。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2011-11-04
是追问
那它是对所有的shell都有效,还是只对创建它的Shell及其派生出来的子进程都有效?
初学、、、对概念不是太清楚,麻烦解释一下:所谓全局变量是在整个系统下有效的吗?前面听一位网友说它只对创建它的Shell及其派生出来的子进程都有效、、、
第一个问题:不是对所有的shell都有效
第二个问号:都有效
第三个问号:都有效
你网友说的对
我理解的全局变量也属于环境变量,只不过登录的时候bash shell默认建立了一些标准变量,
既然全局变量(环境变量)在整个系统下有效,那为什么对其他shell无效呢?
追答还是看登录的shell,我对别的shell不是太了解,bash shell的环境变量是在/etc/profile这个文件中配置,然后再读取$HOME/.bash_profile 这个文件中配置个人用户的环境变量.具体csh,tcsh这些我基本上没用过,所以不好回答。
本回答被提问者采纳