Passing argument from the command line

Mickael Remond <>
Thu Oct 12 14:22:55 CEST 2000

It seems that the argument of the Erlang command line are always list of
Is it right or am I missing something ?

In fact, whith this fact you need to design your functions specifically if you
want them to be called directly from the command line and from the Erlang

For example: I was building a makefile to transform .ehtml into .html files.

The command I am using is:

 erl -s ehtml file index -s init stop

And it does not work from the command line.

I have changed the following code in ehtml.erl:

file(F) when list(F) ->
    file(F ++ ".ehtml", F ++ ".html").


% Called from the command line
file([F|Empty]) when atom(F), Empty==[] ->
% Called from the Erlang Shell
file(F) when list(F) ->
    file(F ++ ".ehtml", F ++ ".html").

And the command line is working.

Am I missing something or must I make sure that all function that need to be
command line compliant should accept list of atoms ?

Thank you for help.

Mickaël Rémond

More information about the erlang-questions mailing list