Erlang の application:get_env/1 にはまる
アプリケーションのログディレクトリを erl -xxx log_dir <ユーザー入力> としていたのだが <ユーザー入力> の部分が . (カレントディレクトリ)になると
application_controller: syntax error before: '.': .
と謎のエラー。
これは get_env/1 の戻り値が Erlang Term であることに気付くと原因が分かる。Erlang Term として . がパースできないのが原因。
文字列として Erlang の世界に渡すには
log_dir '"."'
としないとだめ。
シェルスクリプトに埋め込むなら以下のようにする。
log_dir "\"$log_dir\"" \