結論
# !/bin/zsh
function fix () {
expect -c "
spawn firebase database:update $1 <JSONのパス>
expect \"(y/N)\"
send \"y\n\"
expect \"View data at\"
exit 0
"
}
# ↓これをループ処理でよしなにしてどうぞ
fix <DB内のパス>
あってないような説明(ダブルミーニング)
-
firebase database:updateで任意のパスの値を書き換えられるぞー。-
updateとsetの違いは公式で確認してくれよな。
-
-
expectコマンドを使うとCLIの操作を自動化できるぞー。 - expectはインストールしろみたいな情報もあるけど多分入ってるから
man expectで確認してどうぞ。 -
send \"y\n\"の\nがEnterと同じ意味やで。 -
expectの引数は適当でも意外とマッチするぜ。 -
exitのタイミングは考えないと処理が途中で終わっちゃうね。まあTry&Errorしてみよか。
おわりに
- シェルクソ雑魚パーソンなので謎に時間を消費したのにむしゃくしゃして書きました。
- Firebase-CLIの公式リファレンス、説明少なくね?(まあそんなもんか?)