Your company here ā€” click to reach over 10,000 unique daily visitors

ml - Man Page

handy command interface to the Modules package


ml [switches] [sub-command [sub-command-args]]

ml [switches] [[-]modulefile...]


ml is a user interface to the Modules package. The Modules package provides for the dynamic modification of the user's environment via modulefiles.

ml acts as a shortcut command to the module command thus it supports all the command line switches and module sub-commands that are supported by module.

ml also provides handy shortcuts to list currently loaded modulefiles, when no argument is provided to ml; to load modulefiles, when modulefile names are passed right after ml command name; to unload modulefiles, when modulefile names prefixed by a minus sign (-) are passed right after ml command name.

Multiple modulefiles to load and to unload can be specified on a single ml command line. In this situation unloads are treated first in specified order, then loads are processed also in specified order (see Examples section below).

If an error occurs among either modulefile loads or unloads, command line processing is stopped and every unloads and loads performed are rolled back. Conversely, if ml is removed from abort_on_error configuration option list or if --force option is set, unload and load sequence continues: already achieved module evaluations are kept and unload then load sequence is resumed with the remaining modulefiles.

ml command line is parsed first to match every known command line switches or module sub-commands. So to load a modulefile via the ml shortcut syntax, modulefile name should not equal a module sub-command name. Moreover to unload a modulefile via the ml shortcut syntax, modulefile name should not equal a command line switch short name.

See the DESCRIPTION section in module for the list of supported command line switches and module sub-commands.


Loading modulefile foo then look at currently loaded modulefiles:

$ ml foo
$ ml
Currently Loaded Modulefiles:
 1) foo

Unloading modulefile foo then list modulefiles still loaded:

$ ml -foo
$ ml
No Modulefiles Currently Loaded.

Mixing load and unload of modulefiles in a single command. All specified unloads are processed first then loads are performed:

$ ml -v -foo bar -baz qux
Unloading foo
Unloading baz
Loading bar
Loading qux

Exit Status

The ml command exits with 0 if its execution succeed. Elsewhere 1 is returned.


See the ENVIRONMENT section in module for the list of supported environment variables.

See Also

module, modulefile


2024-02-20 5.4.0 Modules