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
あとは、同じ課題を持っていた人が何かツールを作ってたりする。