The interactive shell is used for evaluation, debugging and
introspection of the Elixir runtime system. It is also possible to use the
program for testing the work of small pieces of code escaping the stage of
saving the code in a file.
Note that many of the options mentioned here were borrowed from
the Erlang shell, therefore erl(1) can be used as an
additional source of information on the options.
-h
,
--help
- Displays the help message to the standard error (stderr) and exits.
-v
,
--version
- Displays the Elixir version to the standard output (stdout) and
exits.
-e
,
--eval
expression
- Evaluates the specified expression (see the
--rpc-eval
option).
-r
file
- Requires the specified file. In other words, the file is checked for
existence at the start of
iex
.
-S
script
- Runs the specified script.
-pa
directory
- Adds the specified directory to the beginning of the code path. If the
directory already exists, it will be removed from its old position and put
to the beginning.
See also the function
Code.prepend_path/1.
-pr
file
- Does the same thing as
-r
(see above) but in
parallel.
-pz
directory
- Adds the specified directory to the end of the code path. If the directory
already exists, it will be neither removed from its old position nor put
to the end.
See also the function
Code.append_path/1.
--app
application
- Starts the specified application and all its dependencies.
--boot
file
- Specifies the name of the boot file, file.boot,
which is used to start the system. Unless File contains an absolute path,
the system searches for file.boot in the current and
$ROOT/bin directories.
Defaults to $ROOT/bin/start.boot.
The option is equivalent to Erlang's
-boot
.
--boot-var
var dir
- If the boot script contains a path variable var
other than $ROOT, this variable is expanded to dir.
Used when applications are installed in another directory than $ROOT/lib.
The option is equivalent to Erlang's
-boot_var
.
See also the function
:systools.make_script/1,2
in SASL.
--erl
parameters
- Serves the same purpose as ELIXIR_ERL_OPTIONS (see the
ENVIRONMENT section)
--erl-config
file
- Specifies the name of a configuration file,
file.config, which is used to configure
applications. Note that the configuration file must be written in Erlang.
The option is equivalent to Erlang's
-config
.
--cookie
value
- Specifies the magic cookie value. If the value isn't specified via the
option when the node starts, it will be taken from the file
~/.erlang.cookie (see the FILES
section). Distributed nodes can interact with each
other only when their magic cookies are equal.
See also the function
Node.set_cookie/2.
--hidden
- Starts a hidden node.
Connections between nodes are transitive. For example, if node
A is connected to node B, and node B is connected to node C, then node A
is connected to node C. The option --hidden
allows creating a node which can be connected to another node, escaping
redundant connections.
The function
Node.list/0
allows getting the list of nodes connected to the target node, however
the list won't include hidden nodes. Depending on the input parameter,
the function
Node.list/1
allows getting the list which contains only hidden nodes (the parameter
:hidden) or both hidden and not hidden nodes (the
parameter :connected).
--logger-otp-reports
val
- Enables or disables OTP reporting (val
can be either true or false).
--logger-sasl-reports
val
- Enables or disables SASL reporting (val
can be either true or false).
--sname
name
- Gives a node a short name and starts it. Short names take the form of
name@host, where host is the name of the target host
(hostname(1)) which runs the node. The nodes with short
names can interact with each other only in the same local network.
--name
name
- Gives a node a long name and starts it. Long names take the form of
name@host, where host is the IP address of the host
which runs the node. In contrast to the nodes with short names, the nodes
with long names aren't limited by boundaries of a local network (see
above).
--pipe-to
pipedir logdir
- Starts the Erlang VM as a named pipedir and
logdir (only for Unix-like operating systems).
--rpc-eval
node expression
- Evaluates the specified expression on the specified node (see the
--eval
option).
--vm-args
file
- Reads the command-line arguments from file and
passes them to the Erlang VM.
The option is equivalent to Erlang's
-args_file
.
--werl
- Uses Erlang's Windows shell GUI (only for Windows).
--dot-iex
file
- Loads the specified file instead of .iex.exs (see
the FILES section).
--remsh
node
- Connects to the specified node which was started with the
--sname
or --name
options
(see above).
--
- Separates the options passed to the compiler from the options passed to
the executed code.
The following options can be given more than once:
--boot-var
, --erl-config
,
--eval
, --rpc-eval
.
- ~/.erlang.cookie
- Stores the magic cookie value which is used only when it wasn't specified
via the option
--cookie
(see above). If the file
doesn't exist when a node starts, it will be created.
- .iex.exs
- After
iex
starts, it seeks the file
.iex.exs and, in a case of success, executes the
code from the file in the context of the shell. At first the search starts
in the current working directory; then, if necessary, it continues in the
home directory.
- Elixir is maintained by The Elixir Team.
-
- This manual page was contributed by Evgeny Golyshev.
-
- Copyright (c) 2012 Plataformatec.
-
- Copyright (c) 2021 The Elixir Team.
-
- Main website: https://elixir-lang.org
-
- Documentation: https://elixir-lang.org/docs.html
-