envml¶
SYNOPSIS¶
envml [MODULE_ACTION]... [--] COMMAND [ARG]...
DESCRIPTION¶
The envml command configures the environment using specified Environment Modules actions and then given command.
This is useful for running a command in a modified environment without permanently altering the current shell session.
envml interprets its first arguments as module actions, then
switches to command execution after either encountering -- or determining
that the remaining arguments form the actual command to run.
MODULE_ACTION FORMAT¶
Each module action argument can be one of the following forms:
purgeUnload all currently loaded modulefiles.restore[=coll]Restore the module environment from the named collectioncoll. If no name is given, restores the default collection.unload=mod1[&mod2...]Unload one or more specified modulefiles.switch=mod1&mod2Unloadmod1and loadmod2.[load=]mod1[&mod2...]Load one or more specified modulefiles.load=can be omitted.
Multiple MODULE_ACTIONs can be passed in a single argument using the colon
(:) separator. The ampersand (&) is used to specify multiple modules
in a single action.
COMMAND EXECUTION¶
Everything following the -- separator is treated as the command to execute
in the modified environment.
If no -- separator is provided, envml assumes the first
argument is a MODULE_ACTION and the remaining arguments form the command to
execute.
OPTIONS¶
- --help, -h¶
Display usage information and exit.
EXAMPLES¶
Restore default module collection then run command arg1 arg2:
envml restore command arg1 arg2
Purge all modules, then load mod1 and mod2, and run the command:
envml purge:mod1:mod2 command arg1 arg2
Use the -- separator to avoid ambiguity:
envml restore load=mod1&mod2 -- command arg1 arg2
EXIT STATUS¶
The envml command returns the exit status of the executed command
or 1 if module action fails.
DIAGNOSTICS¶
If the module command is not available in the shell (i.e., not a shell function), envml will print an error and exit.