iTerm2にはステータスバーという機能があり、そこで現在のgcloudのCLIで操作対象になっているプロジェクトIDを出すと非常に捗る。
単純に考えるとgcloudコマンドのconfigオプションを使い、プロジェクトIDの取得ができるだろうなと思うが
gcloud config list project --format='value(core.project)'
いかんせん、これがめちゃくちゃ遅い。Pythonで作られているっぽいが、そのせいなのかは分からない。だが、とにかく遅い。1-2秒は普通にかかる。iTerm2はステータスバーに表示するデータをディレクトリ移動のたびに取得するのでcdするたびに数秒まってると日が暮れてしまう。
同じようなことをしている先輩が会社にいたので、どうやっているか聞いてみたところ、以下のようなコマンドで取得しているらしい。これでかなり速度を改善できた。
gcp_profile=$(cat $HOME/.config/gcloud/active_config) gcp_project=$(awk '/project/{print $3}' $HOME/.config/gcloud/configurations/config_$gcp_profile)
catとawkの組み合わせのほうがよっぽど早いのは言うまでもない。