Gee*_*eek 8 shell shell-script command
可能的重复:
执行 shell 脚本的不同方式
当我发出以下命令时会发生什么:
source devenv.csh
Run Code Online (Sandbox Code Playgroud)
它与运行它有什么不同devenv.csh?
Ans*_*ann 14
当您“只运行”文件时,shebang 中给出的解释器(脚本的第一行,以#!, eg开头)作为参数#!/usr/bin/csh执行devenv(或devenv.csh,这在问题中有点不一致)。然后它将执行文件中的命令并终止。
获取文件意味着命令在当前 shell 中执行。当一些命令devenv.csh改变环境时(文件名暗示这是这个特定文件的主要目的),执行它不会有任何影响:环境将在子shell中改变,但会立即终止,不留任何更改设置的痕迹。请注意,环境变量永远不会“向上”传播:它们只能由子进程继承,而不能由父进程继承。