【问题标题】:Do something based on echo text根据回显文本做一些事情
【发布时间】:2022-12-17 12:17:32
【问题描述】:

我在我的节点应用程序中使用 shelljs 进行 git 克隆。我只想在克隆成功后做一些事情。所以想要这样的事情:

shell.exec(`git clone https://myrepo.git; echo "cloned"`);

一旦我的 repo 在 Google Cloud 函数上被克隆,这将返回 cloned。我该怎么做:

if echo === 'cloned' {
   //do something
} else {
      //do something else
}

【问题讨论】:

  • 将命令链接起来可能会更简单。对于git clone https://myrepo.git && echo "cloned",如果git clone返回错误,echo将不会被执行。
  • @RomainValeri,你能举个例子吗?对不起,我是新来的。
  • 这可能是您了解如何使用该功能的一个有价值的起点:stackabuse.com/executing-shell-commands-with-node-js
  • 我想指出的是,您需要在 git 命令的返回码上添加一个测试条件,以确保它成功。除非它是一个完全克隆的分支,否则你不应该发送那个“克隆的”回声,当 git 严重终止时不要采取行动。

标签: javascript node.js bash git shelljs


【解决方案1】:

使用 && 而不是 ;像这样:

shell.exec(`git clone https://myrepo.git && echo "cloned"`);

&& 表示 echo "cloned" 直到 git clone https://myrepo.git 成功完成后才会执行。

【讨论】:

    【解决方案2】:

    我最终使用了这个:

    if (shell.exec(`git clone https://myrepo.git`).code === 0) {
        //do something
    } else {
       //do something else
    }
    

    这非常有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-23
      • 2022-09-27
      • 1970-01-01
      • 1970-01-01
      • 2012-06-05
      • 2021-07-15
      • 1970-01-01
      相关资源
      最近更新 更多