Unix变量继承用法

Unix变量继承用法,unix,Unix,我的问题是,游戏是遗传给孩子的,并且改变了。 现在,家长会的游戏怎么了?“CRICKET”是否仍保持不变?Unix环境变量特定于进程 当您分叉一个进程时,子进程将获得父进程环境的副本 子对象所做的任何更改都将是对其副本的更改,并且不会影响父对象的环境变量 为什么要问“当我运行这段代码时会发生什么”-你自己运行看看!我不知道这里用的是什么语言,但如果你假装它是C,答案是“是的,它仍然没有改变”。@Netch:谢谢。实际上,我对unix中变量继承的要求(不取决于语言)。子进程继承变量并对其进行更改。

我的问题是,游戏是遗传给孩子的,并且改变了。
现在,家长会的游戏怎么了?“CRICKET”是否仍保持不变?

Unix环境变量特定于进程

当您分叉一个进程时,子进程将获得父进程环境的副本


子对象所做的任何更改都将是对其副本的更改,并且不会影响父对象的环境变量

为什么要问“当我运行这段代码时会发生什么”-你自己运行看看!我不知道这里用的是什么语言,但如果你假装它是C,答案是“是的,它仍然没有改变”。@Netch:谢谢。实际上,我对unix中变量继承的要求(不取决于语言)。子进程继承变量并对其进行更改。现在,不应在父进程中更改变量值(猜测这是简单的逻辑)。我可以猜测,有些奇怪的语言将环境保持在共享位置:),但我所知道的所有运行时都将其在进程之间分开,并且不会将值从子进程复制到其父进程。如果需要返回值,则应将后者放置在某个位置,然后显式重用。例如,我的SuSE桌面使用此功能在Midnight Commander内更改CWD,方法是使用shell函数替换直接mc调用,该函数获取最后一个mc的目录并应用它。
{
 set GAME=CRICKET"
 if(fork()=0)
 {
  set GAME="FOOTBALL"
  echo $GAME
  }
 sleep(5);
 echo $GAME
}