我对tch没什么经验。为了简化场景,我创建了一个脚本,然后放入" echo $ _"那里。
如果我像这样来源脚本:
source set_env_vars.csh
我得到了#34;来源set_env_vars.csh"
但如果我像以下那样运行脚本:
./ set_env_vars.csh
我得到了不同的输出'一些路径'
我想了解$ _的确切含义以及两种情况下输出的不同之处。
由于
答案 0 :(得分:0)
环境变量仅从shell传播到子shell。
source set_env_vars.csh
将环境变量添加到shell中。
./set_env_vars.csh
将环境变量添加到仅在此命令持续时间内存在的子shell中。当子shell退出并且shell看不到时,这些更改将丢失。这就是输出不同的原因。