2016-08-19 77 views
0

我正在使用firebase。如何通過管道使用多個命令作爲shell腳本

我想寫一個shell腳本,請執行下列操作: 執行兩個命令:

  1. 火力初始化
  2. 火力部署

的問題是,firebase init有幾個問題提示。 第一個我想回答y的是,然後輸入。 然後按下鍵空間取消選擇一個項目並進入繼續。 其他一些問題如下。

但我不能讓firebase init接受我上面提到的第一個條目。

當我使用「echo y | firebase init」時,它可以工作。但是,當我添加空格鍵並輸入firebase init出口而不做它應該。

有沒有可能解決這個問題。我是shell腳本的新手。我在Windows 7上使用Cygwin。

+0

在文檔的火力地堡的'init'看硬;有一個很好的機會可以通過命令行來驅動它,而不需要交互,或者有一個相關的命令可以使用,它是非交互式的,並且可以從腳本中使用。 –

回答

1

From the docsfirebase 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 
+0

JSON中的換行符是不必要的。 – chepner

+0

JSON中的換行符是無害的。 –

+1

vim也很便宜:'%s/\ n/\\ n/g''因此它是無害的,並且不需要付出努力。 –