【问题标题】:How to execute bash script in same shell如何在同一个shell中执行bash脚本
【发布时间】:2017-05-22 21:55:24
【问题描述】:

我有一个 bash 脚本,它调用三个不同的命令,并且必须在一个 shell 中执行。我通过在每个命令后添加 && 得到它,如下所示-

CMD1 && CMD2 && CMD3

现在我需要的是 - 假设我在我的 MAC 机器上打开一个终端,所有命令都应该在打开的 shell 中运行,而不是在新的子 shell 中。

附带说明 - CMD1 实际上是我的项目目录的源命令,它是一个 bash 脚本,用于设置运行服务器的所有环境变量。

【问题讨论】:

  • 您正在寻找source.$> . myscript
  • 感谢@KyleStrand 实际上我的 CMD1 本身就是一个源命令。这就是为什么我正在寻找在当前 shell 中运行 bash 脚本的原因。因为 CMD2 和 CMD3 依赖于 CMD1 设置的环境。
  • ...那么您的问题不清楚;命令本质上不是“源命令”。你的意思是你的脚本实际上看起来像. CMD1 && CMD2 && CMD3?如果是这样,你的问题应该这么说。
  • 环境由子shell继承。
  • 请编辑您的问题以阐明您的脚本是什么样的以及您的要求是什么。 “CMD2 和 CMD3 取决于 CMD1 设置的环境”应在问题本身中指定,而不是在注释中。

标签: bash


【解决方案1】:

首先,您需要将命令保存在脚本文件中,例如Myscript.sh

其次,您可以使用脚本文件同时运行您的命令

. ./Myscript.sh

第一个. 代表当前shell,第二个. 代表当前目录。

【讨论】:

  • 也很高兴解释它实际上是在采购 bash 脚本
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-21
  • 2012-03-29
相关资源
最近更新 更多