direnv
dir毎に環境変数を定義して、そのdirに移動すると自動的に環境変数の有効/無効を切り替える usecases
.envにaccess keyなどを書いておいて、CLIから接続するときとか e.g. AWSにCLIで接続する
これはprojectごとに設定することになるので
用意されているsubcommand、全体的にaliasが多い
これ逆に分かりづらいだろmrsekut.icon
有効にする
以下も同じ
direnv permit
direnv grant
以下も同じ
dirnev block
direnv deny
direnv disallow
そのディレクトリのenvを読み込んで、指定のコマンドを実行する
e.g.
$ direnv exec . bash
.envrcの差分(新たに設定された環境変数など)を指定シェル向けに表示します。GPT-4.icon
SHELLには bash, zsh, fish, json, gha(GitHub Actions用)などが指定できます。
ちょっとマニアックですが、内部で環境差分をデバッグしたいときに使います。
指定URLからファイルをダウンロードしてdirenvのキャッシュに保存します。GPT-4.icon
例えば、環境設定で外部スクリプトを読み込みたいときに便利。
自分のシェルにdirenvを組み込むためのスクリプトを出力します。GPT-4.icon
通常は .bashrc や .zshrc に
code:sh
eval "$(direnv hook zsh)"
古くなった許可リスト(allowされてるけどもう消えたファイルなど)を掃除します。GPT-4.icon
時々やるとクリーンになります。
環境変数を再読み込みする
.envrcを直したあと、即座に反映したいときに使う
現在のdirenvの状態を表示します。GPT-4.icon
--jsonを付けるとマシン可読なJSONで出力。
.envrc内で使える標準関数(たとえばdotenv_load, path_addなど)を一覧表示します。GPT-4.icon
.envrcを書くときに参考になる。
そんなんあるんやmrsekut.icon