Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

iex (1)

Name

iex - The Elixir shell

Synopsis

iex [OPTIONS]

Description

IEX(1)                    BSD General Commands Manual                   IEX(1)

NAME
     iex -- The Elixir shell

SYNOPSIS
     iex [OPTIONS]

DESCRIPTION
     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.

OPTIONS
     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 creat-
             ing a node which can be connected to another node, escaping
             redundant connections.

             The function Node.list/0 allows getting the list of nodes con-
             nected 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.


ATTRIBUTES
     See attributes(7) for descriptions of the following attributes:

     +---------------+-----------------------+
     |ATTRIBUTE TYPE |   ATTRIBUTE VALUE     |
     +---------------+-----------------------+
     |Availability   | runtime/elixir        |
     +---------------+-----------------------+
     |Stability      | Pass-through volatile |
     +---------------+-----------------------+

NOTES
     The following options can be given more than once: --boot-var,
     --erl-config, --eval, --rpc-eval.

     Source code for open source software components in Oracle Solaris can be
     found at https://www.oracle.com/downloads/opensource/solaris-source-code-
     downloads.html.

     This software was built from source available at https://github.com/ora-
     cle/solaris-userland.  The original community source was downloaded from
     https://github.com/elixir-lang/elixir/ar-
     chive/v1.12.1/elixir-1.12.1.tar.gz.

     Further information about this software can be found on the open source
     community website at https://elixir-lang.org/.

ENVIRONMENT
     ELIXIR_ERL_OPTIONS
             Allows passing parameters to the Erlang runtime.

FILES
     ~/.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 direc-
             tory; then, if necessary, it continues in the home directory.

SEE ALSO
     elixir(1), elixirc(1), mix(1)

AUTHOR
     Elixir is maintained by the Elixir Core Team.

     This manual page was contributed by Evgeny Golyshev.

     Copyright (c) 2012 Plataformatec.

INTERNET RESOURCES
     Main website: https://elixir-lang.org

     Documentation: https://elixir-lang.org/docs.html


BSD                            February 3, 2019                            BSD