当前位置: 首页 > 面试题库 >

当文件在Unix / Linux上下文中是`source` -d时会发生什么?

涂选
2023-03-14
问题内容

我看过的shell脚本包括如下一行:

source someOtherFile

我知道这会导致someOtherFile执行的内容,但是意义source何在?

后续问题:可以源任何脚本,还是仅源某些类型的脚本?脚本的来源(与正常执行相反)是否有除环境变量以外的其他副作用?


问题答案:

source在脚本上运行命令会在当前进程的上下文中执行脚本。这意味着由脚本设置的环境变量在完成运行后仍然可用。这与正常运行脚本相反,在正常情况下,脚本退出后,新生成的进程中设置的环境变量将丢失。

您可以获取任何可运行的Shell脚本。最终效果将与您在终端中键入脚本中的命令一样。例如,如果脚本更改目录,则在完成运行后,您当前的工作目录将已更改。



 类似资料:
  • 问题内容: 如果我正确理解goroutine在系统线程之上的工作方式,那么它们将从队列中逐一运行。但这是否意味着每个goroutine都会将其上下文加载/卸载到CPU?如果是,系统线程和goroutines之间有什么区别? 最重要的问题是上下文切换的时间成本。这是正确的吗? 检测哪种goroutine请求哪些数据的基础是什么?例如:我正在从goroutine A向DB发送请求,并且不等待响应,并且

  • 我在yarn cluster上运行的spark应用程序崩溃了,我正在试图确定根本原因。在我使用从yarn获得的日志中,我看到在块获取期间有一大堆连接被拒绝,还有一个内存不足错误。很难说出根本原因是什么。我的问题是当容器因为OutOfMemory异常而被杀死时会发生什么。因此,在容器日志中,我看到这是如何在容器上启动执行器的 我还看到许多。在应用程序崩溃之前,似乎有多个这样的问题。spark重试一个

  • 我正在读一些关于redis持久性的文章,现在有两种方法可以保持redis持久性。 AOF RDB 好的,我将跳过“AOF”和“RDB”的基本含义,我有一个关于“AOF”的问题,我的问题是“当redis的aof文件太大时会发生什么,即使是在重新编写之后?”,我在谷歌上搜索过,但没有结果,有人说当“AOF”文件的大小达到3G或4G时,redis-server将无法启动。有人能告诉我吗?非常感谢。

  • 问题内容: 确实有两个问题: 是否有关于配置文件放置位置的标准/约定? 对于系统程序或准系统程序,它们似乎通常位于中。对于普通的应用程序或特权不足的程序,似乎不太清楚。 在处理程序选项时,有优先的标准层次结构吗?例如,命令行选项是否覆盖初始化文件和/或环境变量?反之亦然?还是这完全取决于开发人员? 问题答案: 通常,系统/全局配置存储在/ etc下的某个位置。 用户特定的配置存储在用户的主目录中,

  • 我已经开发了一个Android应用程序使用扩展库。 我使用了必需的策略来创建和上传扩展文件。我已经在play store中上传了apk和主扩展文件。它们保存为草稿,而不是发布。虽然我安装了这个apk,并在我的设备上测试了它,但有时在上传后会发生apk扩展文件下载。但当我尝试后,有时会显示“下载失败,因为找不到资源”。 我只使用主扩展文件。我的应用程序版本代码是5,扩展文件大小是17509413字节

  • 问题内容: 我是django初学者,所以我试图理解上下文和上下文处理器的概念。 什么是上下文,为什么要使用它? 你是否需要上下文才能在模板中使用它? 上下文和上下文处理器是否相同? 非常感谢你的回复。提前致谢! 问题答案: 当你使用Django模板时,它会被编译一次(并且只能编译一次)并存储以供将来使用,作为优化。模板可以在双花括号中包含变量名,例如 和。 一个背景是变量名称为字典键和它们的值的值