man shell_default () - Customizing the Erlang Environment


shell_default - Customizing the Erlang Environment


The functions in shell_default are called when no module name is given in a shell command.

Consider the following shell dialogue:

1 >lists:reverse("abc").

"cba" 2 >c(foo).

{ok, foo}

In command one, the module lists is called. In command two, no module name is specified. The shell searches the modules user_default followed by shell_default for the function foo/1.

shell_default is intended for "system wide" customizations to the shell. user_default is intended for "local" or individual user customizations.


To add your own commands to the shell, create a module calleduser_default and add the commands you want. Then add the following line as the first line in your .erlang file in your home directory.


$PATH is the directory where your user_default module can be found.


Joe Armstrong -
Robert Virding -