環境変数と設定ファイル
優先順位
フラグ → 環境変数 → プロファイル → 既定値の順で決まります。
最終的に使われる値は mtb profile show で確認できます(読み込んだ .env の場所も出ます)。
環境変数
| 環境変数 | 用途 |
|---|---|
MTB_PROFILE | 使うプロファイル名 |
MTB_BASE_URL | 接続先(プロファイルが無くても実行できる) |
MTB_SITE_ID | 既定サイトID |
MTB_USERNAME / MTB_PASSWORD | 非対話サインイン |
MTB_ACCESS_TOKEN | 取得済みのトークンだけで API を呼び出す |
MTB_CONFIG_DIR | 設定ディレクトリ(既定 ~/.config/mtb) |
MTB_LANG | 表示言語 ja / en |
MTB_LANG の指定が無ければ LC_ALL → LC_MESSAGES → LANG の順に参照し、 いずれも無ければ英語で表示します。
MTB_ACCESS_TOKEN だけで実行するとき
失効しても自動更新できません(セッションIDが無いため)。長時間実行するなら mtb auth login --password-stdin を使ってください。
設定ファイル
| ファイル | 中身 |
|---|---|
~/.config/mtb/config.json | プロファイル(接続先・既定サイトID) |
~/.config/mtb/credentials.json(0600) | セッションIDとアクセストークン |
パスワードは保存しません。 アクセストークンは1時間ほどで失効しますが、 mtb がセッションIDを使って自動で再取得します。
MTB_CONFIG_DIR で設定ディレクトリの場所を変更できます(CI で設定を使い捨てにするときに便利です)。
.env
カレントディレクトリに .env があれば読み込みます。
bash
# work/.env
MTB_PROFILE=stg
MTB_SITE_ID=3export付きの行・#で始まる行・値を囲む引用符に対応します- 行末コメントは扱いません。
MTB_PASSWORD=pa#ssの#から先を削ると、 パスワードが別の値になって 401 になるためです - プロセスの環境変数が優先されます。 シェルで設定した値を、ファイルの値が 知らないうちに上書きすることはありません
.envの値をプロセスの環境変数には設定しません。 mtb が起動する他のプロセスには渡りません
作業ディレクトリで接続先が変わりうる
.env があると、同じコマンドでもどのディレクトリで実行したかによって接続先が変わります。 確実に固定したいなら --profile か --base-url を明示してください (どちらも .env より優先されます)。
MTB_PASSWORD を書くなら .gitignore に .env を入れてください。
表示言語の範囲
切り替わるのは人間に向けた文言(メッセージ・ヘルプ・エラー)です。
| 言語 | |
|---|---|
| メッセージ・エラー・手書きコマンドのヘルプ | ja / en |
| エンドポイントとパラメータの説明 | 公式の OpenAPI 定義そのままなので英語 |
mtb llm の埋め込みリファレンス | 日本語で固定 |
出力をプログラムで判定するなら --lang を明示してください。