【问题标题】:How input argument to require command (bash)?要求命令(bash)的输入参数如何?
【发布时间】:2021-05-02 19:15:24
【问题描述】:

我正在编写流水线脚本(gitlab CI/CD)。

我的一些脚本

  script:
    - npm install
    - b4a configure accountkey

但是命令b4a configure accountkey需要输入密钥

我知道这是一个微不足道的问题,但我真的不知道如何编写我的脚本(我对 bash 有纯粹的了解)。

我尝试了 b4a 配置帐户密钥 | $BACKAPP 或 - b4a 配置帐户密钥 |阅读 -s $BACKAPP 但它对我不起作用。

我现在找不到答案,我可以将我的 arg 输入到命令中。抱歉问了这么愚蠢的问题:(

【问题讨论】:

  • 我根本不知道 b4a,但是如果您将密钥和管道回显到命令怎么办? echo keynumber|b4a configure accountkey?
  • 如果 gitlab-ci 映像中的底层 shell 是 bash,另一种不使用 echo 将一些文本发送到 b4a 的标准输入的方法是使用 here string:@987654327 @,但请注意<<< 符号可能与 YAML 语法冲突,因此您可以引用命令:- 'b4a configure accountkey <<<"$BACKAPP"'

标签: bash gitlab-ci pipeline gitlab-ci-runner


【解决方案1】:

感谢 Gerhard 和 ErikMD!

这两个选项都适合我!

echo keynumber|b4a configure accountkey

'b4a configure accountkey <<<"$BACKAPP"'

【讨论】:

  • 很好!并随时接受您自己的答案,然后将其标记为“已解决”:)
  • 但请注意,echo keynumber 可能是指echo "$BACKAPP" | …,否则(显然)密钥将被硬编码/提交到 Git 存储库中...... :)
  • 酷。但是echo $BACKAPP 而不是@EricMD 已经提到的。我发布的评论只是为了测试该命令是否确实接受标准输入。
  • ErikMD,我只能在两天内接受我的回答。是的,我明白将echo keynumber 替换为echo "$BACKAPP" :)
猜你喜欢
  • 1970-01-01
  • 2013-11-24
  • 1970-01-01
  • 1970-01-01
  • 2012-12-18
  • 2011-07-14
  • 2010-12-03
  • 2011-07-27
  • 2022-01-08
相关资源
最近更新 更多