weblog of key_amb

主にIT関連の技術メモ

daemontools のない環境で envdir 的なことをする

daemontools*1は便利だけど、時には使えない環境もあると思う。
そんな環境で envdir 的なことをしたいとき、どうするかという問題。

envdir とは

ドキュメントに書いてあるけど、指定したディレクトリ以下のファイルの中身を読み込んで、環境変数を読み込んでからコマンドを起動してくれるもの。

例:

% grep -H . env/*
FOO_DIR:/path/to/foo
FOO_USER:foo
FOO_GROUP:foo
% envdir env start-foo.sh # FOO_DIR=/path/to/foo FOO_USER=foo FOO_GROUP=foo start-foo.sh

どうするか

単純には環境変数をセットするスクリプトファイルを1個作って、それを読み込んでからコマンド実行すればいいだろう。
上の例だと、

% cat foo-profile
export FOO_DIR=/path/to/foo
export FOO_USER=foo
export FOO_GROUP=foo
% . foo-profile
% start-foo.sh

あとは、同じ課題を持っていた人が何かツールを作ってたりする。