RealtimeDatabase のデータ修正を自動化するためのスクリプト


結論


#!/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で任意のパスの値を書き換えられるぞー。
    • updatesetの違いは公式で確認してくれよな。
  • expectコマンドを使うとCLIの操作を自動化できるぞー。
  • expectはインストールしろみたいな情報もあるけど多分入ってるからman expectで確認してどうぞ。
  • send \"y\n\"\nがEnterと同じ意味やで。
  • expectの引数は適当でも意外とマッチするぜ。
  • exitのタイミングは考えないと処理が途中で終わっちゃうね。まあTry&Errorしてみよか。

おわりに

  • シェルクソ雑魚パーソンなので謎に時間を消費したのにむしゃくしゃして書きました。
  • Firebase-CLIの公式リファレンス、説明少なくね?(まあそんなもんか?)

参考文献