direnv
参考:
direnv – unclutter your .profile [Official]
direnv/direnv: Unclutter your .profile – GitHub
使い方
Homebrew で Mac にインストールする。
$ brew install direnv
.bashrc または .bash_profile で設定する。
eval "$(direnv hook bash)"
プロジェクトファイルで .envrc ファイルを作成する。
$ cd my_project $ direnv edit .
.envrc ファイルを有効化する。
$ direnv allow
参考:
ディレクトリ単位でシェルの環境変数を切り替える direnv | それマグで!
direnv で特定のディレクトリ下の環境変数を定義する | DevelopersIO
ディレクトリごとに環境変数を設定できるコマンドラインツール | ソフトアンテナブログ
direnv を使った環境変数の管理 | 30歳からのプログラミング
direnv でディレクトリ毎に設定を切り替える | 二畳半堂
direnv を使ってみる | CUBE SUGAR CONTAINER
改めて、direnv を使いましょう! | HDE BLOG
direnv で環境 (プロジェクトやディレクトリ) ごとに環境変数を分けるメモ | tweeeety のぶろぐ的めも
direnv でエレガントな開発環境を | 渋谷の片隅で吠える
関数をエクスポートする
export_function() {
local name="$1"
local aliases_dir="$PWD/.direnv/aliases"
mkdir -p "$aliases_dir"
PATH_add "$aliases_dir"
local target="$aliases_dir/$name"
if declare -f "$name" > /dev/null; then
echo "#! /usr/bin/env bash" > "$target"
declare -f "$name" >> "$target" 2> /dev/null
echo "$name \"\$*\"" >> "$target"
chmod +x "$target"
fi
}
参考:
Picking up aliases and functions · Issue #73 · direnv/direnv – GitHub