如何通过管道使用多个命令作为shell脚本

时间:2016-08-19 15:53:50

标签: bash shell firebase pipe

我正在使用firebase。

我想编写一个执行以下操作的shell脚本: 执行两个命令:

  1. firebase init
  2. firebase deploy
  3. 问题是firebase init提示了几个问题。 第一个我想用y回答是,然后输入。 然后按键空间取消选择一个项目,然后输入继续。 接下来是一些其他问题。

    但我不能让firebase init接受我上面提到的第一个条目。

    当我使用" echo y |时firebase init"有用。但是当我添加空格键并输入firebase init退出而没有做它应该做的事情时。

    是否有可能解决这个问题。我是shell脚本的新手。我在Windows 7中使用Cygwin。

1 个答案:

答案 0 :(得分:1)

From the docs firebase init命令只创建文件firebase.json。为什么不以交互方式进行,然后再手动生成JSON呢?

即如果你这样做并且它会生成

{
  "firebase": "myfirebase",
  "public": "app",
  "ignore": [
    "firebase.json",
    "**/.*",
    "**/node_modules/**"
  ]
}

然后你可以做

$ echo $'{\n  "firebase": "myfirebase",\n  "public": "app",\n  "ignore": [\n    "firebase.json",\n    "**/.*",\n    "**/node_modules/**"\n  ]\n}\n' >firebase.json
$ firebase deploy