从konsole调用脚本时以及从另一个脚本

时间:2016-06-22 23:07:20

标签: linux csh

我对tch没什么经验。为了简化场景,我创建了一个脚本,然后放入" echo $ _"那里。

如果我像这样来源脚本:

  

source set_env_vars.csh

我得到了#34;来源set_env_vars.csh"

但如果我像以下那样运行脚本:

  

./ set_env_vars.csh

我得到了不同的输出'一些路径'

我想了解$ _的确切含义以及两种情况下输出的不同之处。

由于

1 个答案:

答案 0 :(得分:0)

环境变量仅从shell传播到子shell。

source set_env_vars.csh将环境变量添加到shell中。

./set_env_vars.csh将环境变量添加到仅在此命令持续时间内存在的子shell中。当子shell退出并且shell看不到时,这些更改将丢失。这就是输出不同的原因。