入门问题,环境变量和本地变量(又叫shell变量)

robin_yao 2008-06-04 04:53:17
UNIX下(AIX)
环境变量 用 env命令显示的,这是存在.profile下的
本地变量 用 set命令显示的,不知道存在哪里

这两者有什么区别?

书上说本地变量(只用于现在的shell,这个的意思是本地变量能用于该shell下启的所有进程吗?)
而环境变量可用于所有子进程

那为什么环境变量又是存放在每个用户的目录下的呢(肯定会不同用户而不同)
...全文
307 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liushuibufu2010 2011-03-18
  • 打赏
  • 举报
回复
每一种编程语言中,我们都会碰到变量的作用域的问题。(比如在函数中定义的变量在函数外不能使用的)
BASH 中也有类似的问题,局部变量和环境变量(全局变量)。
局部变量是普通的变量,仅在创建它的Shell中有效。
环境变量。我们更多的使用“环境变量”而不是“全局变量”,因为这个名称更
能体现它的特点。环境变量对创建它的Shell及其派生出来的子进程都有效。或者说环境变量可以继承,但它对其它与创建它的Shell没有关系的Shell并不可见。
linuxguy 2008-06-05
  • 打赏
  • 举报
回复
帮顶, 关注!
lester98 2008-06-05
  • 打赏
  • 举报
回复
那为什么环境变量又是存放在每个用户的目录下的呢(肯定会不同用户而不同)
那只是放在每个用户下面的脚本里,每次login都会执行脚本,export一下
MpIceer 2008-06-05
  • 打赏
  • 举报
回复
本地变量好像只保存在内存里吧
本地变量默认只在本shell下有效,如果想影响子进程,要export

19,620

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧