在 shell 中获取文件意味着什么?

在 shell 中获取文件意味着什么?

可能的重复:
执行 shell 脚本的不同方式

当我发出以下命令时会发生什么:

source devenv.csh

它与运行它有何不同devenv.csh

答案1

当您“刚刚运行”该文件时,给出的解释器舍邦(脚本的第一行,以 开头#!,例如)以(或,这在问题中有点不一致)作为参数#!/usr/bin/csh执行。然后它将执行文件中的命令并终止。devenvdevenv.csh

采购该文件表示命令在当前 shell 中执行。当其中的某些命令devenv.csh更改环境时(文件名暗示这是该特定文件的主要目的),执行它不会有任何效果:环境将在子 shell 中更改,但会立即终止,不留下更改设置的痕迹。请注意,环境变量永远不会“向上”传播:它们只能由子进程继承,而不能由父进程继承。

相关内容