1MODULE(1) Modules MODULE(1)
2
3
4
6 module - command interface to the Modules package
7
9 module [switches] [sub-command [sub-command-args]]
10
12 module is a user interface to the Modules package. The Modules package
13 provides for the dynamic modification of the user's environment via
14 modulefiles.
15
16 Each modulefile contains the information needed to configure the shell
17 for an application. Once the Modules package is initialized, the envi‐
18 ronment can be modified on a per-module basis using the module command
19 which interprets modulefiles. Typically modulefiles instruct the module
20 command to alter or set shell environment variables such as PATH, MAN‐
21 PATH, etc. Modulefiles may be shared by many users on a system and
22 users may have their own set to supplement or replace the shared mod‐
23 ulefiles.
24
25 The modulefiles are added to and removed from the current environment
26 by the user. The environment changes contained in a modulefile can be
27 summarized through the module command as well. If no arguments are
28 given, a summary of the module usage and sub-commands are shown.
29
30 The action for the module command to take is described by the sub-com‐
31 mand and its associated arguments.
32
33 Package Initialization
34 The Modules package and the module command are initialized when a
35 shell-specific initialization script is sourced into the shell. The
36 script executes the autoinit sub-command of the modulecmd.tcl program
37 located in /usr/share/Modules/libexec for the corresponding shell. The
38 output of this execution is evaluated by shell which creates the module
39 command as either an alias or function and creates Modules environment
40 variables.
41
42 During this initialization process, if the Modules environment is found
43 undefined (when both MODULEPATH and LOADEDMODULES are found either un‐
44 set or empty), the modulespath and initrc configuration files located
45 in /etc/environment-modules are evaluated if present and following this
46 order. modulespath file contains the list of modulepaths to enable dur‐
47 ing initialization. In this file, the modulepaths are separated by new‐
48 line or colon characters. initrc is a modulefile that defines during
49 initialization the modulepaths to enable, the modules to load and the
50 module configuration to apply.
51
52 During the initialization process, if the Modules environment is found
53 defined a module refresh is automatically applied to restore in the
54 current environment all non-persistent components set by loaded mod‐
55 ules.
56
57 The module alias or function executes the modulecmd.tcl program and has
58 the shell evaluate the command's output. The first argument to mod‐
59 ulecmd.tcl specifies the type of shell.
60
61 The initialization scripts are kept in /usr/share/Modules/init/<shell>
62 where <shell> is the name of the sourcing shell. For example, a C Shell
63 user sources the /usr/share/Modules/init/csh script. The sh, csh, tcsh,
64 bash, ksh, zsh and fish shells are supported by modulecmd.tcl. In addi‐
65 tion, python, perl, ruby, tcl, cmake, r and lisp "shells" are supported
66 which writes the environment changes to stdout as python, perl, ruby,
67 tcl, lisp, r or cmake code.
68
69 Initialization may also be performed by directly calling the autoinit
70 sub-command of the modulecmd.tcl program.
71
72 A ml alias or function may also be defined at initialization time if
73 enabled (see MODULES_ML section). ml is a handy frontend leveraging all
74 module command capabilities with less character typed. See ml(1) for
75 detailed information.
76
77 Examples of initialization
78 C Shell initialization (and derivatives):
79
80 source /usr/share/Modules/init/csh
81 module load modulefile modulefile ...
82
83 Bourne Shell (sh) (and derivatives):
84
85 . /usr/share/Modules/init/sh
86 module load modulefile modulefile ...
87
88 Perl:
89
90 require "/usr/share/Modules/init/perl.pm";
91 &module('load', 'modulefile', 'modulefile', '...');
92
93 Python:
94
95 import os
96 exec(open('/usr/share/Modules/init/python.py').read())
97 module('load', 'modulefile', 'modulefile', '...')
98
99 Bourne Shell (sh) (and derivatives) with autoinit sub-command:
100
101 eval "$(/usr/share/Modules/libexec/modulecmd.tcl sh autoinit)"
102
103 Modulecmd startup
104 Upon invocation modulecmd.tcl sources a site-specific configuration
105 script if it exists. The location for this script is /etc/environment-
106 modules/siteconfig.tcl. An additional siteconfig script may be speci‐
107 fied with the MODULES_SITECONFIG environment variable, if allowed by
108 modulecmd.tcl configuration, and will be loaded if it exists after
109 /etc/environment-modules/siteconfig.tcl. Siteconfig is a Tcl script
110 that enables to supersede any global variable or procedure definition
111 of modulecmd.tcl.
112
113 Afterward, modulecmd.tcl sources rc files which contain global, user
114 and modulefile specific setups. These files are interpreted as module‐
115 files. See modulefile(4) for detailed information.
116
117 Upon invocation of modulecmd.tcl module run-command files are sourced
118 in the following order:
119
120 1. Global RC file as specified by MODULERCFILE variable or /etc/envi‐
121 ronment-modules/rc. If MODULERCFILE points to a directory, the mod‐
122 ulerc file in this directory is used as global RC file.
123
124 2. User specific module RC file $HOME/.modulerc
125
126 3. All .modulerc and .version files found during modulefile seeking.
127
128 These module run-command files must begins like modulefiles with the
129 #%Module file signature, also called the Modules magic cookie. A ver‐
130 sion number may be placed after this string. The version number re‐
131 flects the minimum version of modulecmd.tcl required to interpret the
132 run-command file. If a version number doesn't exist, then modulecmd.tcl
133 will assume the run-command file is compatible. Files without the magic
134 cookie or with a version number greater than the current version of
135 modulecmd.tcl will not be interpreted and an error is reported. Such
136 error does not abort the whole module evaluation. If the
137 mcookie_version_check configuration is disabled the version number set
138 is not checked.
139
140 NOTE:
141 Run-command files are intended to set parameters for modulefiles,
142 not to configure the module command itself.
143
144 Command line switches
145 The module command accepts command line switches as its first parame‐
146 ter. These may be used to control output format of all information dis‐
147 played and the module behavior in case of locating and interpreting
148 modulefiles.
149
150 All switches may be entered either in short or long notation. The fol‐
151 lowing switches are accepted:
152
153 --all, -a
154 Include hidden modules in search performed with avail, aliases,
155 list, search or whatis sub-commands. Hard-hidden modules are not
156 affected by this option.
157
158 --auto On load, unload and switch sub-commands, enable automated module
159 handling mode. See also MODULES_AUTO_HANDLING section.
160
161 --color=<WHEN>
162 Colorize the output. WHEN defaults to always or can be never or
163 auto. See also MODULES_COLOR section.
164
165 --contains, -C
166 On avail and list sub-commands, return modules whose fully qual‐
167 ified name contains search query string.
168
169 --debug, -D, -DD
170 Debug mode. Causes module to print debugging messages about its
171 progress. Multiple -D options increase the debug verbosity. The
172 maximum is 2.
173
174 --default, -d
175 On avail sub-command, display only the default version of each
176 module name. Default version is the explicitly set default ver‐
177 sion or also the implicit default version if the configuration
178 option implicit_default is enabled (see Locating Modulefiles
179 section in the modulefile(4) man page for further details on im‐
180 plicit default version).
181
182 --force, -f
183 On load, unload and switch sub-commands, by-pass any unsatisfied
184 modulefile constraint corresponding to the declared prereq and
185 conflict. Which means for instance that a modulefile will be
186 loaded even if it comes in conflict with another loaded module‐
187 file or that a modulefile will be unloaded even if it is re‐
188 quired as a prereq by another modulefile.
189
190 On clear sub-command, skip the confirmation dialog and proceed.
191
192 --help, -h
193 Give some helpful usage information, and terminates the command.
194
195 --icase, -i
196 Match module specification arguments in a case insensitive man‐
197 ner.
198
199 --indepth
200 On avail sub-command, include in search results the matching
201 modulefiles and directories and recursively the modulefiles and
202 directories contained in these matching directories.
203
204 --json, -j
205 Display avail, list, savelist, whatis and search output in JSON
206 format.
207
208 --latest, -L
209 On avail sub-command, display only the highest numerically
210 sorted version of each module name (see Locating Modulefiles
211 section in the modulefile(4) man page).
212
213 --long, -l
214 Display avail, list and savelist output in long format.
215
216 --no-auto
217 On load, unload and switch sub-commands, disable automated mod‐
218 ule handling mode. See also MODULES_AUTO_HANDLING section.
219
220 --no-indepth
221 On avail sub-command, limit search results to the matching mod‐
222 ulefiles and directories found at the depth level expressed by
223 the search query. Thus modulefiles contained in directories part
224 of the result are excluded.
225
226 --no-pager
227 Do not pipe message output into a pager.
228
229 --no-redirect
230 Do not send message output to stdout. Keep it on stderr.
231
232 --output=LIST, -o LIST
233 Define the content to report in addition to module names. This
234 option is supported by avail and list sub-commands on their reg‐
235 ular or terse output modes. Accepted values are a LIST of ele‐
236 ments to report separated by colon character (:). The order of
237 the elements in LIST does not matter.
238
239 Accepted elements in LIST for avail sub-command are: modulepath,
240 alias, dirwsym, sym, tag and key.
241
242 Accepted elements in LIST for list sub-command are: header, idx,
243 variant, sym, tag and key.
244
245 The order of the elements in LIST does not matter. Module names
246 are the only content reported when LIST is set to an empty
247 value.
248
249 See also MODULES_AVAIL_OUTPUT and MODULES_LIST_OUTPUT.
250
251 --paginate
252 Pipe all message output into less (or if set, to the command re‐
253 ferred in MODULES_PAGER variable) if error output stream is a
254 terminal. See also MODULES_PAGER section.
255
256 --redirect
257 Send message output to stdout instead of stderr. Only supported
258 on sh, bash, ksh, zsh and fish shells.
259
260 --silent, -s
261 Turn off error, warning and informational messages. module com‐
262 mand output result is not affected by silent mode.
263
264 --starts-with, -S
265 On avail and list sub-commands, return modules whose name starts
266 with search query string.
267
268 --tag=LIST
269 On load, load-any, switch and try-load sub-commands, apply LIST
270 of module tags to the loading modulefile. LIST corresponds to
271 the concatenation of multiple tags separated by colon character
272 (:). LIST should not contain tags inherited from modulefile
273 state or from other modulefile commands. If module is already
274 loaded, tags from LIST are added to the list of tags already ap‐
275 plied to this module.
276
277 --terse, -t
278 Display avail, list and savelist output in short format.
279
280 --trace, -T
281 Trace mode. Report details on module searches, resolutions, se‐
282 lections and evaluations in addition to printing verbose mes‐
283 sages.
284
285 --verbose, -v, -vv
286 Enable verbose messages during module command execution. Multi‐
287 ple -v options increase the verbosity level. The maximum is 2.
288
289 --version, -V
290 Lists the current version of the module command. The command
291 then terminates without further processing.
292
293 --width=COLS, -w COLS
294 Set the width of the output to COLS columns. See also
295 MODULES_TERM_WIDTH section.
296
297 Module Sub-Commands
298 add [options] modulefile...
299 See load.
300
301 add-any [options] modulefile...
302 See load-any.
303
304 aliases [-a]
305 List all available symbolic version-names and aliases in the
306 current MODULEPATH. All directories in the MODULEPATH are re‐
307 cursively searched in the same manner than for the avail
308 sub-command. Only the symbolic version-names and aliases found
309 in the search are displayed.
310
311 append-path [-d C|--delim C|--delim=C] [--duplicates] variable value...
312 Append value to environment variable. The variable is a colon,
313 or delimiter, separated list. See append-path in the module‐
314 file(4) man page for further explanation.
315
316 When append-path is called as a module sub-command, the refer‐
317 ence counter variable, which denotes the number of times value
318 has been added to environment variable, is not updated unless if
319 the --duplicates option is set.
320
321 apropos [-a] [-j] string
322 See search.
323
324 avail [-d|-L] [-t|-l|-j] [-a] [-o LIST] [-S|-C] [--indepth|--no-in‐
325 depth] [pattern...]
326 List all available modulefiles in the current MODULEPATH. All
327 directories in the MODULEPATH are recursively searched for files
328 containing the Modules magic cookie. If a pattern argument is
329 given, then each directory in the MODULEPATH is searched for
330 modulefiles whose pathname, symbolic version-name or alias match
331 pattern in a case insensitive manner by default. pattern may
332 contain wildcard characters. Multiple versions of an applica‐
333 tion can be supported by creating a subdirectory for the appli‐
334 cation containing modulefiles for each version.
335
336 Symbolic version-names and aliases found in the search are dis‐
337 played in the result of this sub-command. Symbolic version-names
338 are displayed next to the modulefile they are assigned to within
339 parenthesis. Aliases are listed in the MODULEPATH section where
340 they have been defined. To distinguish aliases from modulefiles
341 a @ symbol is added within parenthesis next to their name.
342 Aliases defined through a global or user specific module RC file
343 are listed under the global/user modulerc section.
344
345 When colored output is enabled and a specific graphical rendi‐
346 tion is defined for module default version, the default symbol
347 is omitted and instead the defined graphical rendition is ap‐
348 plied to the relative modulefile. When colored output is enabled
349 and a specific graphical rendition is defined for module alias,
350 the @ symbol is omitted. The defined graphical rendition applies
351 to the module alias name. See MODULES_COLOR and MODULES_COLORS
352 sections for details on colored output.
353
354 Module tags applying to the available modulefiles returned by
355 the avail sub-command are reported along the module name they
356 are associated to (see Module tags section).
357
358 A Key section is added at the end of the output in case some el‐
359 ements are reported in parentheses or chevrons along module name
360 or if some graphical rendition is made over some output ele‐
361 ments. This Key section gives hints on the meaning of such ele‐
362 ments.
363
364 The parameter pattern may also refer to a symbolic modulefile
365 name or a modulefile alias. It may also leverage a specific syn‐
366 tax to finely select module version (see Advanced module version
367 specifiers section below).
368
369 clear [-f]
370 Force the Modules package to believe that no modules are cur‐
371 rently loaded. A confirmation is requested if command-line
372 switch -f (or --force) is not passed. Typed confirmation should
373 equal to yes or y in order to proceed.
374
375 config [--dump-state|name [value]|--reset name]
376 Gets or sets modulecmd.tcl options. Reports the currently set
377 value of passed option name or all existing options if no name
378 passed. If a name and a value are provided, the value of option
379 name is set to value. If command-line switch --reset is passed
380 in addition to a name, overridden value for option name is
381 cleared.
382
383 When a reported option value differs from default value a men‐
384 tion is added to indicate whether the overridden value is coming
385 from a command-line switch (cmd-line) or from an environment
386 variable (env-var). When a reported option value is locked and
387 cannot be altered a (locked) mention is added.
388
389 If no value is currently set for an option name, the mention
390 <undef> is reported.
391
392 When command-line switch --dump-state is passed, current mod‐
393 ulecmd.tcl state and Modules-related environment variables are
394 reported in addition to currently set modulecmd.tcl options.
395
396 Existing option names are:
397
398 advanced_version_spec
399 Advanced module version specification to finely select
400 modulefiles.
401
402 Default value is 1. It can be changed at installation
403 time with --disable-advanced-version-spec option. The
404 MODULES_ADVANCED_VERSION_SPEC environment variable is de‐
405 fined by config sub-command when changing this configura‐
406 tion option from its default value. See
407 MODULES_ADVANCED_VERSION_SPEC description for details.
408
409 auto_handling
410 Automated module handling mode.
411
412 Default value is 1. It can be changed at installation
413 time with --disable-auto-handling option. The
414 MODULES_AUTO_HANDLING environment variable is defined by
415 config sub-command when changing this configuration op‐
416 tion from its default value. The --auto and --no-auto
417 command line switches change the value of this configura‐
418 tion option. See MODULES_AUTO_HANDLING description for
419 details.
420
421 avail_indepth
422 avail sub-command in depth search mode.
423
424 Default value is 1. It can be changed at installation
425 time with --disable-avail-indepth option. The
426 MODULES_AVAIL_INDEPTH environment variable is defined by
427 config sub-command when changing this configuration op‐
428 tion from its default value. The --indepth and
429 --no-indepth command line switches change the value of
430 this configuration option. See MODULES_AVAIL_INDEPTH de‐
431 scription for details.
432
433 avail_output
434 Content to report in addition to module names on avail
435 sub-command regular output mode.
436
437 Default value is modulepath:alias:dirwsym:sym:tag:key. It
438 can be changed at installation time with
439 --with-avail-output option. The MODULES_AVAIL_OUTPUT en‐
440 vironment variable is defined by config sub-command when
441 changing this configuration option from its default
442 value. The --output/-o command line switches change the
443 value of this configuration option. See
444 MODULES_AVAIL_OUTPUT description for details.
445
446 avail_terse_output
447 Content to report in addition to module names on avail
448 sub-command terse output mode.
449
450 Default value is modulepath:alias:dirwsym:sym:tag. It can
451 be changed at installation time with
452 --with-avail-terse-output option. The
453 MODULES_AVAIL_TERSE_OUTPUT environment variable is de‐
454 fined by config sub-command when changing this configura‐
455 tion option from its default value. The --output/-o com‐
456 mand line switches change the value of this configuration
457 option. See MODULES_AVAIL_TERSE_OUTPUT description for
458 details.
459
460 collection_pin_version
461 Register exact modulefile version in collection.
462
463 Default value is 0. The MODULES_COLLECTION_PIN_VERSION
464 environment variable is defined by config sub-command
465 when changing this configuration option from its default
466 value. See MODULES_COLLECTION_PIN_VERSION description for
467 details.
468
469 collection_pin_tag
470 Register full tag list applying to modulefiles in collec‐
471 tion.
472
473 Default value is 0. The MODULES_COLLECTION_PIN_TAG envi‐
474 ronment variable is defined by config sub-command when
475 changing this configuration option from its default
476 value. See MODULES_COLLECTION_PIN_TAG description for de‐
477 tails.
478
479 collection_target
480 Collection target which is valid for current system.
481
482 This configuration option is unset by default. The
483 MODULES_COLLECTION_TARGET environment variable is defined
484 by config sub-command when changing this configuration
485 option from its default value. See
486 MODULES_COLLECTION_TARGET description for details.
487
488 color Colored output mode.
489
490 Default value is auto. It can be changed at installation
491 time with --disable-color option. The MODULES_COLOR envi‐
492 ronment variable is defined by config sub-command when
493 changing this configuration option from its default
494 value. The --color command line switches changes the
495 value of this configuration option. See MODULES_COLOR de‐
496 scription for details.
497
498 colors Chosen colors to highlight output items.
499
500 Default value is
501 hi=1:db=2:tr=2:se=2:er=91:wa=93:me=95:in=94:mp=1;94:di=94:al=96:va=93:sy=95:de=4:cm=92:aL=100:L=90;47:H=2:F=41:nF=43:S=46:sS=44:kL=30;48;5;109.
502 It can be changed at installation time with
503 --with-dark-background-colors or --with-light-back‐
504 ground-colors options in conjunction with --with-termi‐
505 nal-background. The MODULES_COLORS environment variable
506 is defined by config sub-command when changing this con‐
507 figuration option from its default value. See
508 MODULES_COLORS description for details.
509
510 contact
511 Modulefile contact address.
512
513 Default value is root@localhost. The MODULECONTACT envi‐
514 ronment variable is defined by config sub-command when
515 changing this configuration option from its default
516 value. See MODULECONTACT description for details.
517
518 extended_default
519 Allow partial module version specification.
520
521 Default value is 1. It can be changed at installation
522 time with --disable-extended-default option. The
523 MODULES_EXTENDED_DEFAULT environment variable is defined
524 by config sub-command when changing this configuration
525 option from its default value. See
526 MODULES_EXTENDED_DEFAULT description for details.
527
528 editor Text editor command to open modulefile with through edit
529 sub-command.
530
531 Default value is vi. It can be changed at installation
532 time with --with-editor option. The MODULES_EDITOR envi‐
533 ronment variable is defined by config sub-command when
534 changing this configuration option from its default
535 value. See MODULES_EDITOR description for details.
536
537 extra_siteconfig
538 Additional site-specific configuration script location.
539
540 This configuration option is unset by default. The
541 MODULES_SITECONFIG environment variable is defined by
542 config sub-command when changing this configuration op‐
543 tion from its default value. See MODULES_SITECONFIG de‐
544 scription for details.
545
546 home Location of Modules package main directory.
547
548 Default value is /usr/share/Modules. It can be changed at
549 installation time with --prefix or --with-moduleshome op‐
550 tions. The MODULESHOME environment variable is defined by
551 config sub-command when changing this configuration op‐
552 tion from its default value. See MODULESHOME description
553 for details.
554
555 icase Enable case insensitive match.
556
557 Default value is search. It can be changed at installa‐
558 tion time with --with-icase option. The MODULES_ICASE en‐
559 vironment variable is defined by config sub-command when
560 changing this configuration option from its default
561 value. The --icase/-i command line switches change the
562 value of this configuration option. See MODULES_ICASE de‐
563 scription for details.
564
565 ignored_dirs
566 Directories ignored when looking for modulefiles.
567
568 Default value is CVS RCS SCCS .svn .git .SYNC .sos. The
569 value of this option cannot be altered.
570
571 implicit_default
572 Set an implicit default version for modules.
573
574 Default value is 1. It can be changed at installation
575 time with --disable-implicit-default option. The
576 MODULES_IMPLICIT_DEFAULT environment variable is defined
577 by config sub-command when changing this configuration
578 option from its default value. See
579 MODULES_IMPLICIT_DEFAULT description for details.
580
581 implicit_requirement
582 Implicitly define a requirement onto modules specified on
583 module commands in modulefile.
584
585 Default value is 1. It can be changed at installation
586 time with --disable-implicit-requirement option. The
587 MODULES_IMPLICIT_REQUIREMENT environment variable is de‐
588 fined by config sub-command when changing this configura‐
589 tion option from its default value. See
590 MODULES_IMPLICIT_REQUIREMENT description for details.
591
592 list_output
593 Content to report in addition to module names on list
594 sub-command regular output mode.
595
596 Default value is header:idx:variant:sym:tag:key. It can
597 be changed at installation time with --with-list-output
598 option. The MODULES_LIST_OUTPUT environment variable is
599 defined by config sub-command when changing this configu‐
600 ration option from its default value. The --output/-o
601 command line switches change the value of this configura‐
602 tion option. See MODULES_LIST_OUTPUT description for de‐
603 tails.
604
605 list_terse_output
606 Content to report in addition to module names on list
607 sub-command terse output mode.
608
609 Default value is header. It can be changed at installa‐
610 tion time with --with-list-terse-output option. The
611 MODULES_LIST_TERSE_OUTPUT environment variable is defined
612 by config sub-command when changing this configuration
613 option from its default value. The --output/-o command
614 line switches change the value of this configuration op‐
615 tion. See MODULES_LIST_TERSE_OUTPUT description for de‐
616 tails.
617
618 locked_configs
619 Configuration options that cannot be superseded. All op‐
620 tions referred in locked_configs value are locked, thus
621 their value cannot be altered.
622
623 This configuration option is set to an empty value by de‐
624 fault. It can be changed at installation time with
625 --with-locked-configs option. The value of this option
626 cannot be altered.
627
628 mcookie_check
629 Defines if the Modules magic cookie (i.e., #%Module file
630 signature) should be checked to determine if a file is a
631 modulefile.
632
633 Default value is always. The MODULES_MCOOKIE_CHECK envi‐
634 ronment variable is defined by config sub-command when
635 changing this configuration option from its default
636 value. See MODULES_MCOOKIE_CHECK description for details.
637
638 mcookie_version_check
639 Defines if the version set in the Modules magic cookie
640 used in modulefile should be checked against the version
641 of modulecmd.tcl to determine if the modulefile could be
642 evaluated or not.
643
644 Default value is 1. It can be changed at installation
645 time with --disable-mcookie-version-check option. The
646 MODULES_MCOOKIE_VERSION_CHECK environment variable is de‐
647 fined by config sub-command when changing this configura‐
648 tion option from its default value. See
649 MODULES_MCOOKIE_VERSION_CHECK description for details.
650
651 ml Define ml command at initialization time.
652
653 Default value is 1. It can be changed at installation
654 time with --disable-ml option. The MODULES_ML environment
655 variable is defined by config sub-command when changing
656 this configuration option from its default value. See
657 MODULES_ML description for details.
658
659 nearly_forbidden_days
660 Set the number of days a module should be considered
661 nearly forbidden prior reaching its expiry date.
662
663 Default value is 14. It can be changed at installation
664 time with --with-nearly-forbidden-days option. The
665 MODULES_NEARLY_FORBIDDEN_DAYS environment variable is de‐
666 fined by config sub-command when changing this configura‐
667 tion option from its default value. See
668 MODULES_NEARLY_FORBIDDEN_DAYS description for details.
669
670 pager Text viewer to paginate message output.
671
672 Default value is less -eFKRX. It can be changed at in‐
673 stallation time with --with-pager and --with-pager-opts
674 options. The MODULES_PAGER environment variable is de‐
675 fined by config sub-command when changing this configura‐
676 tion option from its default value. See MODULES_PAGER
677 description for details.
678
679 quarantine_support
680 Defines if code for quarantine mechanism support should
681 be generated in module shell function definition.
682
683 Default value is 0. It can be changed at installation
684 time with --enable-quarantine-support option. The
685 MODULES_QUARANTINE_SUPPORT environment variable is de‐
686 fined by config sub-command when changing this configura‐
687 tion option from its default value. See
688 MODULES_QUARANTINE_SUPPORT description for details.
689
690 rcfile Global run-command file location.
691
692 This configuration option is unset by default. The
693 MODULERCFILE environment variable is defined by config
694 sub-command when changing this configuration option from
695 its default value. See MODULERCFILE description for de‐
696 tails.
697
698 redirect_output
699 Control whether or not the output of module command
700 should be redirected from stderr to stdout.
701
702 Default value is 1. The MODULES_REDIRECT_OUTPUT environ‐
703 ment variable is defined by config sub-command when
704 changing this configuration option from its default
705 value. The --redirect and --no-redirect command line
706 switches change the value of this configuration option.
707 See MODULES_REDIRECT_OUTPUT description for details.
708
709 run_quarantine
710 Environment variables to indirectly pass to mod‐
711 ulecmd.tcl.
712
713 This configuration option is set to an empty value by de‐
714 fault. It can be changed at installation time with
715 --with-quarantine-vars option that sets
716 MODULES_RUN_QUARANTINE. This environment variable is also
717 defined by config sub-command when changing this configu‐
718 ration option. See MODULES_RUN_QUARANTINE description for
719 details.
720
721 search_match
722 Module search match style.
723
724 Default value is starts_with. It can be changed at in‐
725 stallation time with --with-search-match option. The
726 MODULES_SEARCH_MATCH environment variable is defined by
727 config sub-command when changing this configuration op‐
728 tion from its default value. The --contains and
729 --starts-with command line switches change the value of
730 this configuration option. See MODULES_SEARCH_MATCH de‐
731 scription for details.
732
733 set_shell_startup
734 Ensure module command definition by setting shell startup
735 file.
736
737 Default value is 0. It can be changed at installation
738 time with --enable-set-shell-startup option. The
739 MODULES_SET_SHELL_STARTUP environment variable is defined
740 by config sub-command when changing this configuration
741 option from its default value. See
742 MODULES_SET_SHELL_STARTUP description for details.
743
744 shells_with_ksh_fpath
745 Ensure module command is defined in ksh when it is
746 started as a sub-shell from the listed shells.
747
748 This configuration option is set to an empty value by de‐
749 fault. The MODULES_SHELLS_WITH_KSH_FPATH environment
750 variable is defined by config sub-command when changing
751 this configuration option from its default value. See
752 MODULES_SHELLS_WITH_KSH_FPATH description for details.
753
754 silent_shell_debug
755 Disablement of shell debugging property for the module
756 command. Also defines if code to silence shell debugging
757 property should be generated in module shell function
758 definition.
759
760 Default value is 0. It can be changed at installation
761 time with --enable-silent-shell-debug-support option. The
762 MODULES_SILENT_SHELL_DEBUG environment variable is de‐
763 fined by config sub-command when changing this configura‐
764 tion option from its default value. See
765 MODULES_SILENT_SHELL_DEBUG description for details.
766
767 siteconfig
768 Primary site-specific configuration script location.
769
770 Default value is /etc/environment-modules/siteconfig.tcl.
771 It can be changed at installation time with --prefix or
772 --etcdir options. The value of this option cannot be al‐
773 tered.
774
775 tag_abbrev
776 Abbreviations to use to report module tags.
777
778 Default value is auto-loaded=aL:loaded=L:hidden=H:hid‐
779 den-loaded=H:forbidden=F:nearly-forbidden=nF:sticky=S:su‐
780 per-sticky=sS:keep-loaded=kL. It can be changed at in‐
781 stallation time with --with-tag-abbrev option. The
782 MODULES_TAG_ABBREV environment variable is defined by
783 config sub-command when changing this configuration op‐
784 tion from its default value. See MODULES_TAG_ABBREV de‐
785 scription for details.
786
787 tag_color_name
788 Tags whose name should be colored instead of module name.
789
790 This configuration option is set to an empty value by de‐
791 fault. It can be changed at installation time with
792 --with-tag-color-name option. The MODULES_TAG_COLOR_NAME
793 environment variable is defined by config sub-command
794 when changing this configuration option from its default
795 value. See MODULES_TAG_COLOR_NAME description for de‐
796 tails.
797
798 tcl_ext_lib
799 Modules Tcl extension library location.
800
801 Default value is @libdir@/libtclenvmodules.so. It can be
802 changed at installation time with --prefix or --libdir
803 options. The value of this option cannot be altered.
804
805 term_background
806 Terminal background color kind.
807
808 Default value is dark. It can be changed at installation
809 time with --with-terminal-background option. The
810 MODULES_TERM_BACKGROUND environment variable is defined
811 by config sub-command when changing this configuration
812 option from its default value. See
813 MODULES_TERM_BACKGROUND description for details.
814
815 term_width
816 Set the width of the output.
817
818 Default value is 0. The MODULES_TERM_WIDTH environment
819 variable is defined by config sub-command when changing
820 this configuration option from its default value. The
821 --width/-w command line switches change the value of this
822 configuration option. See MODULES_TERM_WIDTH description
823 for details.
824
825 unload_match_order
826 Unload firstly loaded or lastly loaded module matching
827 request.
828
829 Default value is returnlast. It can be changed at instal‐
830 lation time with --with-unload-match-order option. The
831 MODULES_UNLOAD_MATCH_ORDER environment variable is de‐
832 fined by config sub-command when changing this configura‐
833 tion option from its default value. See
834 MODULES_UNLOAD_MATCH_ORDER description for details.
835
836 variant_shortcut
837 Shortcut characters that could be used to specify or re‐
838 port module variants.
839
840 This configuration option is set to an empty value by de‐
841 fault. It can be changed at installation time with
842 --with-variant-shortcut option. The
843 MODULES_VARIANT_SHORTCUT environment variable is defined
844 by config sub-command when changing this configuration
845 option from its default value. See
846 MODULES_VARIANT_SHORTCUT description for details.
847
848 verbosity
849 Module command verbosity level.
850
851 Default value is normal. It can be changed at installa‐
852 tion time with --with-verbosity option. The
853 MODULES_VERBOSITY environment variable is defined by
854 config sub-command when changing this configuration op‐
855 tion from its default value. The --debug/-D, --silent/-s,
856 --trace/-T and --verbose/-v command line switches change
857 the value of this configuration option. See
858 MODULES_VERBOSITY description for details.
859
860 wa_277 Workaround for Tcsh history issue.
861
862 Default value is 0. It can be changed at installation
863 time with --enable-wa-277 option. The MODULES_WA_277 en‐
864 vironment variable is defined by config sub-command when
865 changing this configuration option from its default
866 value. See MODULES_WA_277 description for details.
867
868 display modulefile...
869 Display information about one or more modulefiles. The display
870 sub-command will list the full path of the modulefile and the
871 environment changes the modulefile will make if loaded. (Note:
872 It will not display any environment changes found within condi‐
873 tional statements.)
874
875 The parameter modulefile may also be a symbolic modulefile name
876 or a modulefile alias. It may also leverage a specific syntax to
877 finely select module version (see Advanced module version speci‐
878 fiers section below).
879
880 edit modulefile
881 Open modulefile for edition with text editor command designated
882 by the editor configuration option.
883
884 The parameter modulefile may also be a symbolic modulefile name
885 or a modulefile alias. It may also leverage a specific syntax to
886 finely select module version (see Advanced module version speci‐
887 fiers section below).
888
889 help [modulefile...]
890 Print the usage of each sub-command. If an argument is given,
891 print the Module-specific help information for the modulefile.
892
893 The parameter modulefile may also be a symbolic modulefile name
894 or a modulefile alias. It may also leverage a specific syntax to
895 finely select module version (see Advanced module version speci‐
896 fiers section below).
897
898 info-loaded modulefile
899 Returns the names of currently loaded modules matching passed
900 modulefile. Returns an empty string if passed modulefile does
901 not match any loaded modules. See module-info loaded in the mod‐
902 ulefile(4) man page for further explanation.
903
904 initadd modulefile...
905 Add modulefile to the shell's initialization file in the user's
906 home directory. The startup files checked (in order) are:
907
908 C Shell
909 .modules, .cshrc, .csh_variables and .login
910
911 TENEX C Shell
912 .modules, .tcshrc, .cshrc, .csh_variables and .login
913
914 Bourne and Korn Shells
915 .modules, .profile
916
917 GNU Bourne Again Shell
918 .modules, .bash_profile, .bash_login, .profile and .bashrc
919
920 Z Shell
921 .modules, .zshrc, .zshenv and .zlogin
922
923 Friendly Interactive Shell
924 .modules, .config/fish/config.fish
925
926 If a module load line is found in any of these files, the mod‐
927 ulefiles are appended to any existing list of modulefiles. The
928 module load line must be located in at least one of the files
929 listed above for any of the init sub-commands to work properly.
930 If the module load line is found in multiple shell initializa‐
931 tion files, all of the lines are changed.
932
933 initclear
934 Clear all of the modulefiles from the shell's initialization
935 files.
936
937 initlist
938 List all of the modulefiles loaded from the shell's initializa‐
939 tion file.
940
941 initprepend modulefile...
942 Does the same as initadd but prepends the given modules to the
943 beginning of the list.
944
945 initrm modulefile...
946 Remove modulefile from the shell's initialization files.
947
948 initswitch modulefile1 modulefile2
949 Switch modulefile1 with modulefile2 in the shell's initializa‐
950 tion files.
951
952 is-avail modulefile...
953 Returns a true value if any of the listed modulefiles exists in
954 enabled MODULEPATH. Returns a false value otherwise. See
955 is-avail in the modulefile(4) man page for further explanation.
956
957 The parameter modulefile may also be a symbolic modulefile name
958 or a modulefile alias. It may also leverage a specific syntax to
959 finely select module version (see Advanced module version speci‐
960 fiers section below).
961
962 is-loaded [modulefile...]
963 Returns a true value if any of the listed modulefiles has been
964 loaded or if any modulefile is loaded in case no argument is
965 provided. Returns a false value otherwise. See is-loaded in the
966 modulefile(4) man page for further explanation.
967
968 The parameter modulefile may also be a symbolic modulefile name
969 or a modulefile alias. It may also leverage a specific syntax to
970 finely select module version (see Advanced module version speci‐
971 fiers section below).
972
973 is-saved [collection...]
974 Returns a true value if any of the listed collections exists or
975 if any collection exists in case no argument is provided. Re‐
976 turns a false value otherwise. See is-saved in the modulefile(4)
977 man page for further explanation.
978
979 is-used [directory...]
980 Returns a true value if any of the listed directories has been
981 enabled in MODULEPATH or if any directory is enabled in case no
982 argument is provided. Returns a false value otherwise. See
983 is-used in the modulefile(4) man page for further explanation.
984
985 keyword [-a] [-j] string
986 See search.
987
988 list [-t|-l|-j] [-a] [-o LIST] [-S|-C] [pattern...]
989 List loaded modules. If a pattern is given, then the loaded mod‐
990 ules are filtered to only list those whose name match this pat‐
991 tern. It may contain wildcard characters. pattern is matched in
992 a case insensitive manner by default. If multiple patterns are
993 given, loaded modules has to match at least one of them to be
994 listed.
995
996 Module tags applying to the loaded modules are reported along
997 the module name they are associated to (see Module tags sec‐
998 tion).
999
1000 Module variants selected on the loaded modules are reported
1001 along the module name they belong to (see Module variants sec‐
1002 tion).
1003
1004 A Key section is added at the end of the output in case some el‐
1005 ements are reported in parentheses or chevrons along module name
1006 or if some graphical rendition is made over some output ele‐
1007 ments. This Key section gives hints on the meaning of such ele‐
1008 ments.
1009
1010 The parameter pattern may also refer to a symbolic modulefile
1011 name or a modulefile alias. It may also leverage a specific syn‐
1012 tax to finely select module version (see Advanced module version
1013 specifiers section below).
1014
1015 load [options] modulefile...
1016 Load modulefile into the shell environment.
1017
1018 load command accepts the following options:
1019
1020 • --auto|--no-auto
1021
1022 • -f|--force
1023
1024 • --tag=taglist
1025
1026 Once loaded, the loaded module tag is associated to the loaded
1027 module. If module has been automatically loaded by another mod‐
1028 ule, the auto-loaded tag is associated instead (see Module tags
1029 section).
1030
1031 The parameter modulefile may also be a symbolic modulefile name
1032 or a modulefile alias. It may also leverage a specific syntax to
1033 finely select module version (see Advanced module version speci‐
1034 fiers section below).
1035
1036 The --tag option accepts a list of module tags to apply to mod‐
1037 ulefile once loaded. If module is already loaded, tags from
1038 taglist are added to the list of tags already applied to this
1039 module.
1040
1041 load-any [options] modulefile...
1042 Load into the shell environment one of the modulefile specified.
1043 Try to load each modulefile specified in list from the left to
1044 the right until one got loaded or is found already loaded. Do
1045 not complain if modulefile cannot be found but if its evaluation
1046 fails an error is reported.
1047
1048 load-any command accepts the following options:
1049
1050 • --auto|--no-auto
1051
1052 • -f|--force
1053
1054 • --tag=taglist
1055
1056 Once loaded, the loaded module tag is associated to the loaded
1057 module. If module has been automatically loaded by another mod‐
1058 ule, the auto-loaded tag is associated instead (see Module tags
1059 section).
1060
1061 The parameter modulefile may also be a symbolic modulefile name
1062 or a modulefile alias. It may also leverage a specific syntax to
1063 finely select module version (see Advanced module version speci‐
1064 fiers section below).
1065
1066 The --tag option accepts a list of module tags to apply to mod‐
1067 ulefile once loaded. If module is already loaded, tags from
1068 taglist are added to the list of tags already applied to this
1069 module.
1070
1071 path modulefile
1072 Print path to modulefile.
1073
1074 The parameter modulefile may also be a symbolic modulefile name
1075 or a modulefile alias. It may also leverage a specific syntax to
1076 finely select module version (see Advanced module version speci‐
1077 fiers section below).
1078
1079 paths modulefile
1080 Print path of available modulefiles matching argument.
1081
1082 The parameter modulefile may also be a symbolic modulefile name
1083 or a modulefile alias. It may also leverage a specific syntax to
1084 finely select module version (see Advanced module version speci‐
1085 fiers section below).
1086
1087 prepend-path [-d C|--delim C|--delim=C] [--duplicates] variable
1088 value...
1089 Prepend value to environment variable. The variable is a colon,
1090 or delimiter, separated list. See prepend-path in the module‐
1091 file(4) man page for further explanation.
1092
1093 When prepend-path is called as a module sub-command, the refer‐
1094 ence counter variable, which denotes the number of times value
1095 has been added to environment variable, is not updated unless if
1096 the --duplicates option is set.
1097
1098 purge [-f]
1099 Unload all loaded modulefiles.
1100
1101 When the --force option is set, also unload modulefiles that are
1102 depended by unloadable modules.
1103
1104 refresh
1105 Force a refresh of all non-persistent components of currently
1106 loaded modules. This should be used on derived shells where
1107 shell aliases or shell functions need to be reinitialized but
1108 the environment variables have already been set by the currently
1109 loaded modules.
1110
1111 Loaded modules are evaluated in refresh mode following their
1112 load order. In this evaluation mode only the set-alias and
1113 set-function modulefile commands will produce environment
1114 changes. Other modulefile commands that produce environment
1115 changes (like setenv or append-path) are ignored during a re‐
1116 fresh evaluation as their changes should already be applied.
1117
1118 reload Unload then load all loaded modulefiles.
1119
1120 No unload then load is performed and an error is returned if the
1121 loaded modulefiles have unsatisfied constraint corresponding to
1122 the prereq and conflict they declare.
1123
1124 remove-path [-d C|--delim C|--delim=C] [--index] variable value...
1125 Remove value from the colon, or delimiter, separated list in en‐
1126 vironment variable. See remove-path in the modulefile(4) man
1127 page for further explanation.
1128
1129 When remove-path is called as a module sub-command, the refer‐
1130 ence counter variable, which denotes the number of times value
1131 has been added to environment variable, is ignored and value is
1132 removed whatever the reference counter value set.
1133
1134 restore [collection]
1135 Restore the environment state as defined in collection. If col‐
1136 lection name is not specified, then it is assumed to be the de‐
1137 fault collection. If collection is a fully qualified path, it is
1138 restored from this location rather than from a file under the
1139 user's collection directory. If MODULES_COLLECTION_TARGET is
1140 set, a suffix equivalent to the value of this variable is ap‐
1141 pended to the collection file name to restore.
1142
1143 When restoring a collection, the currently set MODULEPATH direc‐
1144 tory list and the currently loaded modulefiles are unused and
1145 unloaded then used and loaded to exactly match the MODULEPATH
1146 and loaded modulefiles lists saved in this collection file. The
1147 order of the paths and modulefiles set in collection is pre‐
1148 served when restoring. It means that currently loaded modules
1149 are unloaded to get the same LOADEDMODULES root than collection
1150 and currently used module paths are unused to get the same
1151 MODULEPATH root. Then missing module paths are used and missing
1152 modulefiles are loaded.
1153
1154 If a module, without a default version explicitly defined, is
1155 recorded in a collection by its bare name: loading this module
1156 when restoring the collection will fail if the configuration op‐
1157 tion implicit_default is disabled.
1158
1159 rm [--auto|--no-auto] [-f] modulefile...
1160 See unload.
1161
1162 save [collection]
1163 Record the currently set MODULEPATH directory list and the cur‐
1164 rently loaded modulefiles in a collection file under the user's
1165 collection directory $HOME/.module. If collection name is not
1166 specified, then it is assumed to be the default collection. If
1167 collection is a fully qualified path, it is saved at this loca‐
1168 tion rather than under the user's collection directory.
1169
1170 If MODULES_COLLECTION_TARGET is set, a suffix equivalent to the
1171 value of this variable will be appended to the collection file
1172 name.
1173
1174 By default, if a loaded modulefile corresponds to the explicitly
1175 defined default module version, the bare module name is
1176 recorded. If the configuration option implicit_default is en‐
1177 abled, the bare module name is also recorded for the implicit
1178 default module version. If MODULES_COLLECTION_PIN_VERSION is set
1179 to 1, module version is always recorded even if it is the de‐
1180 fault version.
1181
1182 By default, only the module tags specifically set with the --tag
1183 option or resulting from a specific module state (like
1184 auto-loaded and keep-loaded tags) are recorded in collection. If
1185 MODULES_COLLECTION_PIN_TAG is set to 1, all tags are recorded in
1186 collection except nearly-forbidden tag.
1187
1188 No collection is recorded and an error is returned if the loaded
1189 modulefiles have unsatisfied constraint corresponding to the
1190 prereq and conflict they declare.
1191
1192 savelist [-t|-l|-j]
1193 List collections that are currently saved under the user's col‐
1194 lection directory. If MODULES_COLLECTION_TARGET is set, only
1195 collections matching the target suffix will be displayed.
1196
1197 saverm [collection]
1198 Delete the collection file under the user's collection direc‐
1199 tory. If collection name is not specified, then it is assumed to
1200 be the default collection. If MODULES_COLLECTION_TARGET is set,
1201 a suffix equivalent to the value of this variable will be ap‐
1202 pended to the collection file name.
1203
1204 saveshow [collection]
1205 Display the content of collection. If collection name is not
1206 specified, then it is assumed to be the default collection. If
1207 collection is a fully qualified path, this location is displayed
1208 rather than a collection file under the user's collection direc‐
1209 tory. If MODULES_COLLECTION_TARGET is set, a suffix equivalent
1210 to the value of this variable will be appended to the collection
1211 file name.
1212
1213 search [-a] [-j] string
1214 Seeks through the module-whatis information of all modulefiles
1215 for the specified string. All module-whatis information matching
1216 the string in a case insensitive manner will be displayed.
1217 string may contain wildcard characters.
1218
1219 sh-to-mod shell script [arg...]
1220 Evaluate with shell the designated script with defined arguments
1221 to find out the environment changes it does. Environment prior
1222 and after script evaluation are compared to determine these
1223 changes. They are translated into modulefile commands to output
1224 the modulefile content equivalent to the evaluation of shell
1225 script.
1226
1227 Changes on environment variables, shell aliases, shell func‐
1228 tions, shell completions and current working directory are
1229 tracked.
1230
1231 Changes made on environment variable intended for Modules pri‐
1232 vate use (e.g., LOADEDMODULES, _LMFILES_, __MODULES_*) are ig‐
1233 nored.
1234
1235 Shell could be specified as a command name or a fully qualified
1236 pathname. The following shells are supported: sh, dash, csh,
1237 tcsh, bash, ksh, ksh93, zsh and fish.
1238
1239 show modulefile...
1240 See display.
1241
1242 source scriptfile...
1243 Execute scriptfile into the shell environment. scriptfile must
1244 be written with modulefile syntax and specified with a fully
1245 qualified path. Once executed scriptfile is not marked loaded in
1246 shell environment which differ from load sub-command.
1247
1248 state [name]
1249 Gets modulecmd.tcl states. Reports the currently set value of
1250 passed state name or all existing states if no name passed.
1251
1252 swap [options] [modulefile1] modulefile2
1253 See switch.
1254
1255 switch [options] [modulefile1] modulefile2
1256 Switch loaded modulefile1 with modulefile2. If modulefile1 is
1257 not specified, then it is assumed to be the currently loaded
1258 module with the same root name as modulefile2.
1259
1260 switch command accepts the following options:
1261
1262 • --auto|--no-auto
1263
1264 • -f|--force
1265
1266 • --tag=taglist
1267
1268 The parameter modulefile may also be a symbolic modulefile name
1269 or a modulefile alias. It may also leverage a specific syntax to
1270 finely select module version (see Advanced module version speci‐
1271 fiers section below).
1272
1273 The --tag option accepts a list of module tags to apply to mod‐
1274 ulefile once loaded. If module is already loaded, tags from
1275 taglist are added to the list of tags already applied to this
1276 module.
1277
1278 test modulefile...
1279 Execute and display results of the Module-specific tests for the
1280 modulefile.
1281
1282 The parameter modulefile may also be a symbolic modulefile name
1283 or a modulefile alias. It may also leverage a specific syntax to
1284 finely select module version (see Advanced module version speci‐
1285 fiers section below).
1286
1287 try-add [options] modulefile...
1288 See try-load.
1289
1290 try-load [options] modulefile...
1291 Like load sub-command, load modulefile into the shell environ‐
1292 ment, but do not complain if modulefile cannot be found. If mod‐
1293 ulefile is found but its evaluation fails, error is still re‐
1294 ported.
1295
1296 try-load command accepts the following options:
1297
1298 • --auto|--no-auto
1299
1300 • -f|--force
1301
1302 • --tag=taglist
1303
1304 Once loaded, the loaded module tag is associated to the loaded
1305 module. If module has been automatically loaded by another mod‐
1306 ule, the auto-loaded tag is associated instead (see Module tags
1307 section).
1308
1309 The parameter modulefile may also be a symbolic modulefile name
1310 or a modulefile alias. It may also leverage a specific syntax to
1311 finely select module version (see Advanced module version speci‐
1312 fiers section below).
1313
1314 The --tag option accepts a list of module tags to apply to mod‐
1315 ulefile once loaded. If module is already loaded, tags from
1316 taglist are added to the list of tags already applied to this
1317 module.
1318
1319 unload [--auto|--no-auto] [-f] modulefile...
1320 Remove modulefile from the shell environment.
1321
1322 The parameter modulefile may also be a symbolic modulefile name
1323 or a modulefile alias. It may also leverage a specific syntax to
1324 finely select module version (see Advanced module version speci‐
1325 fiers section below).
1326
1327 unuse directory...
1328 Remove one or more directories from the MODULEPATH environment
1329 variable.
1330
1331 If module unuse is called during a modulefile evaluation, the
1332 reference counter environment variable
1333 __MODULES_SHARE_MODULEPATH, which denotes the number of times
1334 directory has been enabled, is checked and directory is removed
1335 only if its relative counter is equal to 1 or not defined. Oth‐
1336 erwise directory is kept and reference counter is decreased by
1337 1. When module unuse is called from the command-line or within
1338 an initialization modulefile script directory is removed what‐
1339 ever the reference counter value set.
1340
1341 If directory corresponds to the concatenation of multiple paths
1342 separated by colon character, each path is treated separately.
1343
1344 use [-a|--append] directory...
1345 Prepend one or more directories to the MODULEPATH environment
1346 variable. The --append flag will append the directory to
1347 MODULEPATH.
1348
1349 When directory is already defined in MODULEPATH, it is not added
1350 again or moved at the end or at the beginning of the environment
1351 variable.
1352
1353 If module use is called during a modulefile evaluation, the ref‐
1354 erence counter environment variable __MODULES_SHARE_MODULEPATH
1355 is also set to increase the number of times directory has been
1356 added to MODULEPATH. Reference counter is not updated when
1357 module use is called from the command-line or within an initial‐
1358 ization modulefile script.
1359
1360 A directory that does not exist yet can be specified as argument
1361 and then be added to MODULEPATH.
1362
1363 whatis [-a] [-j] [modulefile...]
1364 Display the information set up by the module-whatis commands in‐
1365 side the specified modulefiles. These specified modulefiles may
1366 be expressed using wildcard characters. If no modulefile is
1367 specified, all module-whatis lines will be shown.
1368
1369 The parameter modulefile may also be a symbolic modulefile name
1370 or a modulefile alias. It may also leverage a specific syntax to
1371 finely select module version (see Advanced module version speci‐
1372 fiers section below).
1373
1374 Modulefiles
1375 modulefiles are written in the Tool Command Language (Tcl) and are in‐
1376 terpreted by modulecmd.tcl. modulefiles can use conditional statements.
1377 Thus the effect a modulefile will have on the environment may change
1378 depending upon the current state of the environment.
1379
1380 Environment variables are unset when unloading a modulefile. Thus, it
1381 is possible to load a modulefile and then unload it without having the
1382 environment variables return to their prior state.
1383
1384 Advanced module version specifiers
1385 When the advanced module version specifiers mechanism is enabled (see
1386 MODULES_ADVANCED_VERSION_SPEC), the specification of modulefile passed
1387 on Modules sub-commands changes. After the module name a version con‐
1388 straint and variants may be added.
1389
1390 Version specifiers
1391 After the module name a version constraint prefixed by the @ character
1392 may be added. It could be directly appended to the module name or sepa‐
1393 rated from it with a space character.
1394
1395 Constraints can be expressed to refine the selection of module version
1396 to:
1397
1398 • a single version with the @version syntax, for instance foo@1.2.3
1399 syntax will select module foo/1.2.3
1400
1401 • a list of versions with the @version1,version2,... syntax, for in‐
1402 stance foo@1.2.3,1.10 will match modules foo/1.2.3 and foo/1.10
1403
1404 • a range of versions with the @version1:, @:version2 and @ver‐
1405 sion1:version2 syntaxes, for instance foo@1.2: will select all ver‐
1406 sions of module foo greater than or equal to 1.2, foo@:1.3 will se‐
1407 lect all versions less than or equal to 1.3 and foo@1.2:1.3 matches
1408 all versions between 1.2 and 1.3 including 1.2 and 1.3 versions
1409
1410 Advanced specification of single version or list of versions may bene‐
1411 fit from the activation of the extended default mechanism (see
1412 MODULES_EXTENDED_DEFAULT) to use an abbreviated notation like @1 to re‐
1413 fer to more precise version numbers like 1.2.3. Range of versions on
1414 its side natively handles abbreviated versions.
1415
1416 In order to be specified in a range of versions or compared to a range
1417 of versions, the version major element should corresponds to a number.
1418 For instance 10a, 1.2.3, 1.foo are versions valid for range comparison
1419 whereas default or foo.2 versions are invalid for range comparison.
1420
1421 Range of versions can be specified in version list, for instance
1422 foo@:1.2,1.4:1.6,1.8:. Such specification helps to exclude specific
1423 versions, like versions 1.3 and 1.7 in previous example.
1424
1425 If the implicit default mechanism is also enabled (see
1426 MODULES_IMPLICIT_DEFAULT), a default and latest symbolic versions are
1427 automatically defined for each module name (also at each directory
1428 level for deep modulefiles). These automatic version symbols are de‐
1429 fined unless a symbolic version, alias, or regular module version al‐
1430 ready exists for these default or latest version names. Using the
1431 mod@latest (or mod/latest) syntax ensures highest available version
1432 will be selected.
1433
1434 The symbolic version loaded may be used over loaded module name to des‐
1435 ignate the loaded version of the module with associated selected vari‐
1436 ants. This version symbol should be specified using the @ prefix nota‐
1437 tion (e.g., foo@loaded). An error is returned if no version of desig‐
1438 nated module is currently loaded.
1439
1440 Variants
1441 After the module name, variants can be specified. Module variants are
1442 alternative evaluation of the same modulefile. A variant is specified
1443 by associating a value to its name. This specification is then trans‐
1444 mitted to the evaluating modulefile which instantiates the variant in
1445 the ModuleVariant array variable when reaching the variant modulefile
1446 command declaring this variant.
1447
1448 Variant can be specified with the name=value syntax where name is the
1449 declared variant name and value, the value this variant is set to when
1450 evaluating the modulefile.
1451
1452 Boolean variants can be specified with the +name syntax to set this
1453 variant on and with the -name or ~name syntaxes to set this variant
1454 off. The -name syntax is not supported on ml(1) command as the minus
1455 sign already means to unload designated module. The ~name and +name
1456 syntaxes could also be defined appended to another specification word
1457 (e.g., the module name, version or another variant specification),
1458 whereas -name syntax must be the start of a new specification word.
1459
1460 Boolean variants may also be specified with the name=value syntax.
1461 value should be set to 1, true, t, yes, y or on to enable the variant
1462 or it should be set to 0, false, f, no, n or off to disable the vari‐
1463 ant.
1464
1465 Shortcuts may be used to abbreviate variant specification. The
1466 variant_shortcut configuration option associates shortcut character to
1467 variant name. With a shortcut defined, variant could be specified with
1468 the <shortcut>value syntax. For instance if character % is set as a
1469 shortcut for variant foo, the %value syntax is equivalent to the
1470 foo=value syntax.
1471
1472 Specific characters used in variant specification syntax cannot be used
1473 as part of the name of a module. These specific characters are +, ~, =
1474 and all characters set as variant shortcut. Exception is made for +
1475 character which could be set one or several consecutive times at the
1476 end of module name (e.g., name+ or name++).
1477
1478 Module tags
1479 Module tags are piece of information that can be associated to individ‐
1480 ual modulefiles. Tags could be purely informational or may lead to spe‐
1481 cific behaviors.
1482
1483 Module tags may be inherited from the module state set by a modulefile
1484 command or consequence of a module action. The inherited tags are:
1485
1486 • auto-loaded: module has been automatically loaded by another module
1487
1488 • forbidden: module has been set forbidden through the use of the mod‐
1489 ule-forbid command and thus this module cannot be loaded.
1490
1491 • hidden: module has been set hidden through the use of the module-hide
1492 command and thus it is not reported by default among the result of an
1493 avail sub-command.
1494
1495 • hidden-loaded: module has been set hidden once loaded through the use
1496 of the module-hide --hidden-loaded command thus it is not reported bu
1497 default among the result of a list sub-command.
1498
1499 • loaded: module is currently loaded
1500
1501 • nearly-forbidden: module will soon be forbidden, which has been set
1502 through the use of the module-forbid command. Thus this module will
1503 soon not be able to load anymore.
1504
1505 Tags may also be associated to modules by using the module-tag module‐
1506 file command. Among tags that could be set this way, some have a spe‐
1507 cial meaning:
1508
1509 • keep-loaded: auto-loaded module cannot be automatically unloaded.
1510 This tag is also set through the use of the always-load command.
1511
1512 • sticky: module once loaded cannot be unloaded unless forced or
1513 reloaded (see Sticky modules section)
1514
1515 • super-sticky: module once loaded cannot be unloaded unless reloaded,
1516 module cannot be unloaded even if forced (see Sticky modules section)
1517
1518 The --tag option helps to apply additional tags to modules. It is
1519 available on load, load-any, switch and try-load sub-commands and on
1520 always-load, depends-on, module, prereq, prereq-all and prereq-any mod‐
1521 ulefile commands. In case the designated module is already loaded, the
1522 additional tags are added to the list of tags already applied to this
1523 module.
1524
1525 Module tags are reported along the module they are associated to on
1526 avail and list sub-command results and also when module's loading, un‐
1527 loading, refreshing or tagging evaluation is mentioned. Tags could be
1528 reported either:
1529
1530 • along the module name, all tags set within angle brackets, each tag
1531 separated from the others with a colon character (e.g., foo/1.2
1532 <tag1:tag2>).
1533
1534 • graphically rendered over the module name for each tag associated to
1535 a Select Graphic Rendition (SGR) code in the color palette (see
1536 MODULES_COLORS)
1537
1538 When an abbreviated string is associated to a tag name (see
1539 MODULES_TAG_ABBREV), this abbreviation is used to report tag along the
1540 module name or the tag is graphically rendered over the module name if
1541 a SGR code is associated with tag abbreviation in the color palette.
1542 With an abbreviation set, the SGR code associated to the tag full name
1543 is ignored thus an SGR code should be associated to the abbreviation to
1544 get a graphical rendering of tag. If the abbreviation associated to a
1545 tag corresponds to the empty string, tag is not reported.
1546
1547 Graphical rendering is made over the tag name or abbreviation instead
1548 of over the module name for each tag name or abbreviation set in the
1549 MODULES_TAG_COLOR_NAME environment variable.
1550
1551 When several tags have to be rendered graphically over the same module
1552 name, each tag is rendered over a sub-part of the module name. In case
1553 more tags need to be rendered than the total number of characters in
1554 the module name, the remaining tags are graphically rendered over the
1555 tag name instead of over the module name.
1556
1557 When the JSON output mode is enabled (with --json), tags are reported
1558 by their name under the tags attribute. Tag abbreviation and color ren‐
1559 dering do not apply on JSON output.
1560
1561 Module tags cannot be used in search query to designate a modulefile.
1562
1563 Sticky modules
1564 Modules are said sticky when they cannot be unloaded (they stick to the
1565 loaded environment). Two kind of stickiness can be distinguished:
1566
1567 • sticky module: cannot be unloaded unless if the unload is forced or
1568 if the module is reloaded after being unloaded
1569
1570 • super-sticky module: cannot be unloaded unless if the module is
1571 reloaded after being unloaded; super-sticky modules cannot be un‐
1572 loaded even if the unload is forced.
1573
1574 Modules are designated sticky by associating them the sticky or the su‐
1575 per-sticky module tag with the module-tag modulefile command.
1576
1577 When stickiness is defined over the generic module name (and not over a
1578 specific module version, a version list or a version range), sticky or
1579 super-sticky module can be swapped by another version of module. For
1580 instance if the sticky tag is defined over foo module, loaded module
1581 foo/1.2 can be swapped by foo/2.0. Such stickiness definition means one
1582 version of module should stay loaded whatever version it is.
1583
1584 Module variants
1585 Module variants are alternative evaluation of the same modulefile. A
1586 variant is specified by associating a value to its name when designat‐
1587 ing module. Variant specification relies on the Advanced module ver‐
1588 sion specifiers mechanism.
1589
1590 Once specified, variant's value is transmitted to the evaluating mod‐
1591 ulefile which instantiates the variant in the ModuleVariant array vari‐
1592 able when reaching the variant modulefile command declaring this vari‐
1593 ant. For instance the module load foo/1.2 bar=value1 command leads to
1594 the evaluation of foo/1.2 modulefile with bar=value1 variant specifica‐
1595 tion. When reaching the variant bar value1 value2 value3 command in
1596 modulefile during its evaluation, the ModuleVariant(bar) array element
1597 is set to the value1 string.
1598
1599 Once variants are instantiated, modulefile's code could check the vari‐
1600 ant values to adapt the evaluation and define for instance different
1601 module requirements or produce different environment variable setup.
1602
1603 Variants are interpreted in contexts where modulefiles are evaluated.
1604 Thus the variants specified on module designation are ignored by the
1605 avail, whatis, is-avail, path or paths sub-commands.
1606
1607 When modulefile is evaluated a value should be specified for each vari‐
1608 ant this modulefile declares. When reaching the variant modulefile com‐
1609 mand declaring a variant, an error is raised if no value is specified
1610 for this variant and if no default value is declared. Specified variant
1611 value should match a value from the declared accepted value list if
1612 such list is defined otherwise an error is raised. Additionally if a
1613 variant is specified but does not correspond to a variant declared in
1614 modulefile, an error is raised.
1615
1616 Module variants are reported along the module they are associated to on
1617 list sub-command results. Variants are reported within curly braces
1618 next to module name, each variant definition separated from the others
1619 with a colon character (e.g., foo/1.2{variant1=value:+variant2}). Bool‐
1620 ean variants are reported with the +name or -name syntaxes. When a
1621 shortcut character is defined for a variant (see
1622 MODULES_VARIANT_SHORTCUT) it is reported with the <shortcut>value syn‐
1623 tax. For instance if % character is defined as a shortcut for variant1:
1624 foo/1.2{%value:+variant2}.
1625
1626 When the JSON output mode is enabled (with --json), variants are re‐
1627 ported under the variants JSON object as name/value pairs. Values of
1628 Boolean variant are set as JSON Boolean. Other values are set as JSON
1629 strings. Variant shortcut and color rendering do not apply on JSON
1630 output.
1631
1632 Collections
1633 Collections describe a sequence of module use then module load commands
1634 that are interpreted by modulecmd.tcl to set the user environment as
1635 described by this sequence. When a collection is activated, with the
1636 restore sub-command, module paths and loaded modules are unused or un‐
1637 loaded if they are not part or if they are not ordered the same way as
1638 in the collection.
1639
1640 Collections are generated by the save sub-command that dumps the cur‐
1641 rent user environment state in terms of module paths and loaded mod‐
1642 ules. By default collections are saved under the $HOME/.module direc‐
1643 tory.
1644
1645 Collections may be valid for a given target if they are suffixed. In
1646 this case these collections can only be restored if their suffix corre‐
1647 spond to the current value of the MODULES_COLLECTION_TARGET environment
1648 variable (see the dedicated section of this topic below).
1649
1651 The module command exits with 0 if its execution succeed. Otherwise 1
1652 is returned.
1653
1655 __MODULES_AUTOINIT_INPROGRESS
1656 If set to 1, the autoinit sub-command process is skipped.
1657
1658 This environment variable is set to 1 by the autoinit sub-com‐
1659 mand after checking it is not set. It ensures no nested initial‐
1660 ization of Modules occur. At the end of the processing of the
1661 autoinit sub-command, __MODULES_AUTOINIT_INPROGRESS is unset.
1662
1663 __MODULES_LMALTNAME
1664 A colon separated list of the alternative names set through mod‐
1665 ule-version and module-alias statements corresponding to all
1666 loaded modulefiles. Each element in this list starts by the name
1667 of the loaded modulefile followed by all alternative names re‐
1668 solving to it. The loaded modulefile and its alternative names
1669 are separated by the ampersand character.
1670
1671 Each alternative name stored in __MODULES_LMALTNAME is prefixed
1672 by the al| string if it corresponds to a module alias or pre‐
1673 fixed by the as| string if it corresponds to an automatic ver‐
1674 sion symbol. These prefixes help to distinguish the different
1675 kind of alternative name.
1676
1677 This environment variable is intended for module command inter‐
1678 nal use to get knowledge of the alternative names matching
1679 loaded modulefiles in order to keep environment consistent when
1680 conflicts or pre-requirements are set over these alternative
1681 designations. It also helps to find a match after modulefiles
1682 being loaded when unload, is-loaded or info-loaded actions are
1683 run over these names.
1684
1685 Starting version 4.7 of Modules, __MODULES_LMALTNAME is also
1686 used on list sub-command to report the symbolic versions associ‐
1687 ated with the loaded modules.
1688
1689 __MODULES_LMCONFLICT
1690 A colon separated list of the conflict statements defined by all
1691 loaded modulefiles. Each element in this list starts by the name
1692 of the loaded modulefile declaring the conflict followed by the
1693 name of all modulefiles it declares a conflict with. These
1694 loaded modulefiles and conflicting modulefile names are sepa‐
1695 rated by the ampersand character.
1696
1697 This environment variable is intended for module command inter‐
1698 nal use to get knowledge of the conflicts declared by the loaded
1699 modulefiles in order to keep environment consistent when a con‐
1700 flicting module is asked for load afterward.
1701
1702 __MODULES_LMPREREQ
1703 A colon separated list of the prereq statements defined by all
1704 loaded modulefiles. Each element in this list starts by the name
1705 of the loaded modulefile declaring the pre-requirement followed
1706 by the name of all modulefiles it declares a prereq with. These
1707 loaded modulefiles and pre-required modulefile names are sepa‐
1708 rated by the ampersand character. When a prereq statement is
1709 composed of multiple modulefiles, these modulefile names are
1710 separated by the pipe character.
1711
1712 This environment variable is intended for module command inter‐
1713 nal use to get knowledge of the pre-requirement declared by the
1714 loaded modulefiles in order to keep environment consistent when
1715 a pre-required module is asked for unload afterward.
1716
1717 __MODULES_LMSOURCESH
1718 A colon separated list of the source-sh statements defined by
1719 all loaded modulefiles. Each element in this list starts by the
1720 name of the loaded modulefile declaring the environment changes
1721 made by the evaluation of source-sh scripts. This name is fol‐
1722 lowed by each source-sh statement call and corresponding result
1723 achieved in modulefile. The loaded modulefile name and each
1724 source-sh statement description are separated by the ampersand
1725 character. The source-sh statement call and each resulting mod‐
1726 ulefile command (corresponding to the environment changes done
1727 by sourced script) are separated by the pipe character.
1728
1729 This environment variable is intended for module command inter‐
1730 nal use to get knowledge of the modulefile commands applied for
1731 each source-sh command when loading the modulefile. In order to
1732 reverse these modulefile commands when modulefile is unloaded to
1733 undo the environment changes.
1734
1735 __MODULES_LMEXTRATAG
1736 A colon separated list of the tags corresponding to all loaded
1737 modulefiles that have been set through the --tag option. Each
1738 element in this list starts by the name of the loaded modulefile
1739 followed by all explicitly set tags applying to it. The loaded
1740 modulefile and its tags are separated by the ampersand charac‐
1741 ter.
1742
1743 This environment variable is intended for module command inter‐
1744 nal use to distinguish from all tags those that have been
1745 specifically set with --tag option.
1746
1747 __MODULES_LMTAG
1748 A colon separated list of the tags corresponding to all loaded
1749 modulefiles that have been set through module-tag statements or
1750 from other modulefile statements like module-forbid (that may
1751 apply the nearly-forbidden tag in specific situation) (see
1752 Module tags section). Each element in this list starts by the
1753 name of the loaded modulefile followed by all tags applying to
1754 it. The loaded modulefile and its tags are separated by the am‐
1755 persand character.
1756
1757 This environment variable is intended for module command inter‐
1758 nal use to get knowledge of the tags applying to loaded module‐
1759 files in order to report these tags on list sub-command output
1760 or to apply specific behavior when unloading modulefile.
1761
1762 __MODULES_LMVARIANT
1763 A colon separated list of the variant instantiated through vari‐
1764 ant statements by all loaded modulefiles (see Module variants
1765 section). Each element in this list starts by the name of the
1766 loaded modulefile followed by all the variant definitions set
1767 during the load of this module. The loaded modulefile and each
1768 of its variant definition are separated by the ampersand charac‐
1769 ter. Each variant definition starts with the variant name, fol‐
1770 lowed by the variant value set, then a flag to know if variant
1771 is of the Boolean type and last element in this definition is a
1772 flag to know if the chosen value is the default one for this
1773 variant and if it has been automatically set or not. These four
1774 elements composing the variant definition are separated by the
1775 pipe character.
1776
1777 This environment variable is intended for module command inter‐
1778 nal use to get knowledge of the variant value defined by the
1779 loaded modulefiles in order to keep environment consistent when
1780 requirements are set over a specific variant value or just to
1781 report these variant values when listing loaded modules.
1782
1783 __MODULES_PUSHENV_<VAR>
1784 Stack of saved values for <VAR> environment variable. A
1785 colon-separated list containing pairs of elements. A pair is
1786 formed by a loaded module name followed by the value set to
1787 <VAR> in this module with pushenv command. An ampersand charac‐
1788 ter separates the two parts of the pair.
1789
1790 First element in list corresponds to the lastly set value of
1791 <VAR>. If a value were set to <VAR> prior the first evaluated
1792 pushenv command, this value is associated to an empty module
1793 name to record it as a pair element in __MODULES_PUSHENV_<VAR>.
1794
1795 __MODULES_QUAR_<VAR>
1796 Value of environment variable <VAR> passed to modulecmd.tcl in
1797 order to restore <VAR> to this value once started.
1798
1799 __MODULES_QUARANTINE_SET
1800 If set to 1, restore the environment variables set on hold by
1801 the quarantine mechanism when starting modulecmd.tcl script.
1802 This variable is automatically defined by Modules shell initial‐
1803 ization scripts or module shell function when they apply the
1804 quarantine mechanism. (see MODULES_QUARANTINE_SUPPORT).
1805
1806 __MODULES_SHARE_<VAR>
1807 Reference counter variable for path-like variable <VAR>. A colon
1808 separated list containing pairs of elements. A pair is formed by
1809 a path element followed its usage counter which represents the
1810 number of times this path has been enabled in variable <VAR>. A
1811 colon separates the two parts of the pair.
1812
1813 An element of a path-like variable is added to the reference
1814 counter variable as soon as it is added more than one time. When
1815 an element of a path-like variable is not found in the reference
1816 counter variable, it means this element has only be added once
1817 to the path-like variable.
1818
1819 When an empty string is added as an element in the path-like
1820 variable, it is added to the reference counter variable even if
1821 added only once to distinguish between an empty path-like vari‐
1822 able and a path-like variable containing an empty string as sin‐
1823 gle element.
1824
1825 _LMFILES_
1826 A colon separated list of the full pathname for all loaded mod‐
1827 ulefiles.
1828
1829 This environment variable is generated by module command and
1830 should not be modified externally.
1831
1832 LOADEDMODULES
1833 A colon separated list of all loaded modulefiles.
1834
1835 This environment variable is generated by module command and
1836 should not be modified externally.
1837
1838 MODULECONTACT
1839 Email address to contact in case any issue occurs during the in‐
1840 terpretation of modulefiles.
1841
1842 This environment variable value supersedes the default value set
1843 in the contact configuration option. It can be defined with the
1844 config sub-command.
1845
1846 MODULEPATH
1847 The path that the module command searches when looking for mod‐
1848 ulefiles. Typically, it is set to the main modulefiles direc‐
1849 tory, /usr/share/Modules/modulefiles, by the initialization
1850 script. MODULEPATH can be set using module use or by the module
1851 initialization script to search group or personal modulefile di‐
1852 rectories before or after the main modulefile directory.
1853
1854 Path elements registered in the MODULEPATH environment variable
1855 may contain reference to environment variables which are con‐
1856 verted to their corresponding value by module command each time
1857 it looks at the MODULEPATH value. If an environment variable re‐
1858 ferred in a path element is not defined, its reference is con‐
1859 verted to an empty string.
1860
1861 MODULERCFILE
1862 The location of a global run-command file containing modulefile
1863 specific setup. See Modulecmd startup section for detailed in‐
1864 formation.
1865
1866 This environment variable value supersedes the default value set
1867 in the rcfile configuration option. It can be defined with the
1868 config sub-command.
1869
1870 MODULES_ADVANCED_VERSION_SPEC
1871 If set to 1, enable advanced module version specifiers (see
1872 Advanced module version specifiers section). If set to 0, dis‐
1873 able advanced module version specifiers.
1874
1875 This environment variable value supersedes the default value set
1876 in the advanced_version_spec configuration option. It can be de‐
1877 fined with the config sub-command.
1878
1879 MODULES_AUTO_HANDLING
1880 If set to 1, enable automated module handling mode. If set to 0
1881 disable automated module handling mode. Other values are ig‐
1882 nored.
1883
1884 Automated module handling mode consists in additional actions
1885 triggered when loading or unloading a modulefile to satisfy the
1886 constraints it declares. When loading a modulefile, following
1887 actions are triggered:
1888
1889 • Requirement Load: load of the modulefiles declared as a prereq
1890 of the loading modulefile.
1891
1892 • Dependent Reload: reload of the modulefiles declaring a prereq
1893 onto loaded modulefile or declaring a prereq onto a modulefile
1894 part of this reloading batch.
1895
1896 When unloading a modulefile, following actions are triggered:
1897
1898 • Dependent Unload: unload of the modulefiles declaring a
1899 non-optional prereq onto unloaded modulefile or declaring a
1900 non-optional prereq onto a modulefile part of this unloading
1901 batch. A prereq modulefile is considered optional if the pre‐
1902 req definition order is made of multiple modulefiles and at
1903 least one alternative modulefile is loaded.
1904
1905 • Useless Requirement Unload: unload of the prereq modulefiles
1906 that have been automatically loaded for either the unloaded
1907 modulefile, an unloaded dependent modulefile or a modulefile
1908 part of this useless requirement unloading batch. Modulefiles
1909 are added to this unloading batch only if they are not re‐
1910 quired by any other loaded modulefiles and if they are not
1911 tagged keep-loaded.
1912
1913 • Dependent Reload: reload of the modulefiles declaring a con‐
1914 flict or an optional prereq onto either the unloaded module‐
1915 file, an unloaded dependent or an unloaded useless requirement
1916 or declaring a prereq onto a modulefile part of this reloading
1917 batch.
1918
1919 In case a loaded modulefile has some of its declared constraints
1920 unsatisfied (pre-required modulefile not loaded or conflicting
1921 modulefile loaded for instance), this loaded modulefile is ex‐
1922 cluded from the automatic reload actions described above.
1923
1924 For the specific case of the switch sub-command, where a module‐
1925 file is unloaded to then load another modulefile. Dependent mod‐
1926 ulefiles to Unload are merged into the Dependent modulefiles to
1927 Reload that are reloaded after the load of the switched-to mod‐
1928 ulefile.
1929
1930 This environment variable value supersedes the default value set
1931 on the auto_handling configuration option. It can be defined
1932 with the config sub-command. The --auto and --no-auto command
1933 line switches override this environment variable.
1934
1935 MODULES_AVAIL_INDEPTH
1936 If set to 1, enable in depth search results for avail sub-com‐
1937 mand. If set to 0 disable avail sub-command in depth mode. Other
1938 values are ignored.
1939
1940 When in depth mode is enabled, modulefiles and directories con‐
1941 tained in directories matching search query are also included in
1942 search results. When disabled these modulefiles and directories
1943 contained in matching directories are excluded.
1944
1945 This environment variable value supersedes the default value set
1946 in the avail_indepth configuration option. It can be defined
1947 with the config sub-command. The --indepth and --no-indepth com‐
1948 mand line switches override this environment variable.
1949
1950 MODULES_AVAIL_OUTPUT
1951 A colon separated list of the elements to report in addition to
1952 module names on avail sub-command regular output mode.
1953
1954 Accepted elements that can be set in value list are:
1955
1956 • alias: module aliases.
1957
1958 • dirwsym: directories associated with symbolic versions.
1959
1960 • key: legend appended at the end of the output to explain it.
1961
1962 • modulepath: modulepath names set as header prior the list of
1963 available modules found in them.
1964
1965 • sym: symbolic versions associated with available modules.
1966
1967 • tag: tags associated with available modules.
1968
1969 The order of the elements in the list does not matter. Module
1970 names are the only content reported when LIST is set to an empty
1971 value.
1972
1973 In case the modulepath element is missing from value list, the
1974 available modules from global/user rc and all enabled mod‐
1975 ulepaths are reported as a single list.
1976
1977 This environment variable value supersedes the default value set
1978 in the avail_output configuration option. It can be defined with
1979 the config sub-command. The --output/-o command line switches
1980 override this environment variable.
1981
1982 MODULES_AVAIL_TERSE_OUTPUT
1983 A colon separated list of the elements to report in addition to
1984 module names on avail sub-command terse output mode.
1985
1986 See MODULES_AVAIL_OUTPUT to get the accepted elements that can
1987 be set in value list.
1988
1989 The order of the elements in the list does not matter. Module
1990 names are the only content reported when LIST is set to an empty
1991 value.
1992
1993 This environment variable value supersedes the default value set
1994 in the avail_terse_output configuration option. It can be de‐
1995 fined with the config sub-command. The --output/-o command line
1996 switches override this environment variable.
1997
1998 MODULES_CMD
1999 The location of the active module command script.
2000
2001 This environment variable is generated by module command and
2002 should not be modified externally.
2003
2004 MODULES_COLLECTION_PIN_VERSION
2005 If set to 1, register exact version number of modulefiles when
2006 saving a collection. Otherwise modulefile version number is
2007 omitted if it corresponds to the explicitly set default version
2008 and also to the implicit default when the configuration option
2009 implicit_default is enabled.
2010
2011 This environment variable value supersedes the default value set
2012 in the collection_pin_version configuration option. It can be
2013 defined with the config sub-command.
2014
2015 MODULES_COLLECTION_PIN_TAG
2016 If set to 1, register all tags applying to modulefiles when sav‐
2017 ing a collection. Otherwise only the extra tags set through the
2018 --tag option and tags resulting from specific module states
2019 (like auto-loaded and keep-loaded tags) are recorded in collec‐
2020 tion. Note that the nearly-forbidden tag due to its temporal
2021 meaning is not saved in collection even when this configuration
2022 option is enabled.
2023
2024 This environment variable value supersedes the default value set
2025 in the collection_pin_tag configuration option. It can be de‐
2026 fined with the config sub-command.
2027
2028 MODULES_COLLECTION_TARGET
2029 The collection target that determines what collections are valid
2030 thus reachable on the current system.
2031
2032 Collection directory may sometimes be shared on multiple ma‐
2033 chines which may use different modules setup. For instance mod‐
2034 ules users may access with the same HOME directory multiple sys‐
2035 tems using different OS versions. When it happens a collection
2036 made on machine 1 may be erroneous on machine 2.
2037
2038 When a target is set, only the collections made for that target
2039 are available to the restore, savelist, saveshow and saverm
2040 sub-commands. Saving a collection registers the target footprint
2041 by suffixing the collection filename with .$MODULES_COLLEC‐
2042 TION_TARGET. The collection target is not involved when collec‐
2043 tion is specified as file path on the saveshow, restore and save
2044 sub-commands.
2045
2046 For example, the MODULES_COLLECTION_TARGET variable may be set
2047 with results from commands like lsb_release, hostname, dnsdo‐
2048 mainname, etc.
2049
2050 This environment variable value supersedes the default value set
2051 in the collection_target configuration option. It can be defined
2052 with the config sub-command.
2053
2054 MODULES_COLOR
2055 Defines if output should be colored or not. Accepted values are
2056 never, auto and always.
2057
2058 When color mode is set to auto, output is colored only if the
2059 standard error output channel is attached to a terminal.
2060
2061 This environment variable value supersedes the default value set
2062 in the color configuration option. It can be defined with the
2063 config sub-command. The --color command line switch overrides
2064 this environment variable.
2065
2066 NO_COLOR, CLICOLOR and CLICOLOR_FORCE environment variables are
2067 also honored to define color mode. The never mode is set if
2068 NO_COLOR is defined (regardless of its value) or if CLICOLOR
2069 equals to 0. If CLICOLOR is set to another value, it corresponds
2070 to the auto mode. The always mode is set if CLICOLOR_FORCE is
2071 set to a value different than 0. NO_COLOR variable prevails
2072 over CLICOLOR and CLICOLOR_FORCE. Color mode set with these
2073 three variables is superseded by mode set with MODULES_COLOR en‐
2074 vironment variable or with --color command line switch..
2075
2076 MODULES_COLORS
2077 Specifies the colors and other attributes used to highlight var‐
2078 ious parts of the output. Its value is a colon-separated list of
2079 output items associated to a Select Graphic Rendition (SGR)
2080 code. It follows the same syntax than LS_COLORS.
2081
2082 Output items are designated by keys. Items able to be colorized
2083 are: highlighted element (hi), debug information (db), trace in‐
2084 formation (tr), tag separator (se); Error (er), warning (wa),
2085 module error (me) and info (in) message prefixes; Modulepath
2086 (mp), directory (di), module alias (al), module variant (va),
2087 module symbolic version (sy), module default version (de) and
2088 modulefile command (cm).
2089
2090 Module tags can also be colorized. The key to set in the color
2091 palette to get a graphical rendering of a tag is the tag name or
2092 the tag abbreviation if one is defined for tag. The SGR code ap‐
2093 plied to a tag name is ignored if an abbreviation is set for
2094 this tag thus the SGR code should be defined for this abbrevia‐
2095 tion to get a graphical rendering. Each basic tag has by default
2096 a key set in the color palette, based on its abbreviated string:
2097 auto-loaded (aL), forbidden (F), hidden and hidden-loaded (H),
2098 loaded (L), nearly-forbidden (nF), sticky (S), super-sticky (sS)
2099 and keep-loaded (kL).
2100
2101 See the Select Graphic Rendition (SGR) section in the documenta‐
2102 tion of the text terminal that is used for permitted values and
2103 their meaning as character attributes. These substring values
2104 are integers in decimal representation and can be concatenated
2105 with semicolons. Modules takes care of assembling the result
2106 into a complete SGR sequence (\33[...m). Common values to con‐
2107 catenate include 1 for bold, 4 for underline, 30 to 37 for fore‐
2108 ground colors and 90 to 97 for 16-color mode foreground colors.
2109 See also
2110 https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_(Select_Graphic_Rendition)_parameters
2111 for a complete SGR code reference.
2112
2113 No graphical rendition will be applied to an output item that
2114 could normally be colored but which is not defined in the color
2115 set. Thus if MODULES_COLORS is defined empty, no output will be
2116 colored at all.
2117
2118 This environment variable value supersedes the default value set
2119 in the colors configuration option. It can be defined with the
2120 config sub-command.
2121
2122 MODULES_EDITOR
2123 Text editor command name or path for use to open modulefile
2124 through the edit sub-command.
2125
2126 This environment variable value supersedes the default value set
2127 in the editor configuration option. It can be defined with the
2128 config sub-command.
2129
2130 Text editor could also be defined through the VISUAL or EDITOR
2131 environment variables. These environment variables are overrid‐
2132 den by MODULES_EDITOR.
2133
2134 MODULES_EXTENDED_DEFAULT
2135 If set to 1, a specified module version is matched against
2136 starting portion of existing module versions, where portion is a
2137 substring separated from the rest of the version string by a .
2138 character. For example specified modules mod/1 and mod/1.2 will
2139 match existing modulefile mod/1.2.3.
2140
2141 In case multiple modulefiles match the specified module version
2142 and a single module has to be selected, the explicitly set de‐
2143 fault version is returned if it is part of matching modulefiles.
2144 Otherwise the implicit default among matching modulefiles is re‐
2145 turned if defined (see MODULES_IMPLICIT_DEFAULT section)
2146
2147 This environment variable value supersedes the default value set
2148 in the extended_default configuration option. It can be defined
2149 with the config sub-command.
2150
2151 MODULES_FAMILY_<NAME>
2152 Module name minus version that provides for the name family in
2153 currently loaded environment. This environment variable is de‐
2154 fined through the use of the family modulefile command.
2155
2156 For instance if loading modulefile foo/1.0 defines being member
2157 of the bar family, the MODULES_FAMILY_BAR will be set to the foo
2158 value.
2159
2160 This environment variable is generated by module command and
2161 should not be modified externally.
2162
2163 MODULES_ICASE
2164 When module specification are passed as argument to module
2165 sub-commands or modulefile Tcl commands, defines the case sensi‐
2166 tiveness to apply to match them. When MODULES_ICASE is set to
2167 never, a case sensitive match is applied in any cases. When set
2168 to search, a case insensitive match is applied to the avail,
2169 list, whatis and paths sub-commands. When set to always, a case
2170 insensitive match is also applied to the other module sub-com‐
2171 mands and modulefile Tcl commands for the module specification
2172 they receive as argument.
2173
2174 This environment variable value supersedes the default value set
2175 in the icase configuration option. It can be defined with the
2176 config sub-command. The --icase/-i command line switches, which
2177 correspond to the always mode, override this environment vari‐
2178 able.
2179
2180 MODULES_IMPLICIT_DEFAULT
2181 Defines (if set to 1) or not (if set to 0) an implicit default
2182 version for modules without a default version explicitly defined
2183 (see Locating Modulefiles section in the modulefile(4) man
2184 page).
2185
2186 Without either an explicit or implicit default version defined a
2187 module must be fully qualified (version should be specified in
2188 addition to its name) to get:
2189
2190 • targeted by module load, switch, display, help, test and path
2191 sub-commands.
2192
2193 • restored from a collection, unless already loaded in collec‐
2194 tion-specified order.
2195
2196 • automatically loaded by automated module handling mechanisms
2197 (see MODULES_AUTO_HANDLING section) when declared as module
2198 requirement, with prereq or module load modulefile commands.
2199
2200 An error is returned in the above situations if either no ex‐
2201 plicit or implicit default version is defined.
2202
2203 This environment variable value supersedes the default value set
2204 in the implicit_default configuration option. It can be defined
2205 with the config sub-command. This environment variable is ig‐
2206 nored if implicit_default has been declared locked in
2207 locked_configs configuration option.
2208
2209 MODULES_IMPLICIT_REQUIREMENT
2210 Defines (if set to 1) or not (if set to 0) an implicit prereq or
2211 conflict requirement onto modules specified respectively on mod‐
2212 ule load or module unload commands in modulefile. When enabled
2213 an implicit conflict requirement onto switched-off module and a
2214 prereq requirement onto switched-on module are also defined for
2215 module switch commands used in modulefile.
2216
2217 This environment variable value supersedes the default value set
2218 in the implicit_requirement configuration option. It can be de‐
2219 fined with the config sub-command. The --not-req option, applied
2220 to a module command in a modulefile, overrides this environment
2221 variable.
2222
2223 MODULES_LIST_OUTPUT
2224 A colon separated list of the elements to report in addition to
2225 module names on list sub-command regular output mode.
2226
2227 Accepted elements that can be set in value list are:
2228
2229 • header: sentence to introduce the list of loaded modules or to
2230 state that no modules are loaded currently.
2231
2232 • idx: index position of each loaded module.
2233
2234 • key: legend appended at the end of the output to explain it.
2235
2236 • variant: variant values selected for loaded modules.
2237
2238 • sym: symbolic versions associated with loaded modules.
2239
2240 • tag: tags associated with loaded modules.
2241
2242 The order of the elements in the list does not matter. Module
2243 names are the only content reported when LIST is set to an empty
2244 value.
2245
2246 This environment variable value supersedes the default value set
2247 in the list_output configuration option. It can be defined with
2248 the config sub-command. The --output/-o command line switches
2249 override this environment variable.
2250
2251 MODULES_LIST_TERSE_OUTPUT
2252 A colon separated list of the elements to report in addition to
2253 module names on list sub-command terse output mode.
2254
2255 See MODULES_LIST_OUTPUT to get the accepted elements that can be
2256 set in value list.
2257
2258 The order of the elements in the list does not matter. Module
2259 names are the only content reported when LIST is set to an empty
2260 value.
2261
2262 This environment variable value supersedes the default value set
2263 in the list_terse_output configuration option. It can be defined
2264 with the config sub-command. The --output/-o command line
2265 switches override this environment variable.
2266
2267 MODULES_MCOOKIE_CHECK
2268 If set to eval, the Modules magic cookie (i.e., #%Module file
2269 signature) is only checked to determine if a file is a module‐
2270 file when evaluating these files. If set to always, the Modules
2271 magic cookie is also checked when searching for modules.
2272
2273 The eval mode is made to significantly reduce file checks when
2274 walking through modulepaths to search for modulefiles. Special
2275 care should be given to the content of modulepaths when this
2276 eval mode is set as the following kind of files are included in
2277 search results:
2278
2279 • modulefiles with a magic cookie requiring a higher version of
2280 modulecmd.tcl
2281
2282 • files not beginning with the magic cookie #%Module
2283
2284 • read-protected files
2285
2286 This environment variable value supersedes the default value set
2287 in the mcookie_check configuration option. It can be defined
2288 with the config sub-command.
2289
2290 MODULES_MCOOKIE_VERSION_CHECK
2291 If set to 1, the version set in the Modules magic cookie in mod‐
2292 ulefile is checked against the current version of modulecmd.tcl
2293 to determine if the modulefile can be evaluated.
2294
2295 This environment variable value supersedes the default value set
2296 in the mcookie_version_check configuration option. It can be de‐
2297 fined with the config sub-command.
2298
2299 MODULES_ML
2300 If set to 1, define ml command when initializing Modules (see
2301 Package Initialization section). If set to 0, ml command is not
2302 defined.
2303
2304 This environment variable value supersedes the default value set
2305 in the ml configuration option. It can be defined with the
2306 config sub-command.
2307
2308 To enable or disable ml command, MODULES_ML should be set prior
2309 Modules initialization or the ml configuration option should be
2310 set in the initrc configuration file.
2311
2312 MODULES_NEARLY_FORBIDDEN_DAYS
2313 Number of days a module is considered nearly forbidden prior
2314 reaching its expiry date set by module-forbid modulefile com‐
2315 mand. When a nearly forbidden module is evaluated a warning mes‐
2316 sage is issued to inform module will soon be forbidden. If set
2317 to 0, modules will never be considered nearly forbidden. Ac‐
2318 cepted values are integers comprised between 0 and 365.
2319
2320 This environment variable value supersedes the default value set
2321 in the nearly_forbidden_days configuration option. It can be de‐
2322 fined with the config sub-command.
2323
2324 MODULES_PAGER
2325 Text viewer for use to paginate message output if error output
2326 stream is attached to a terminal. The value of this variable is
2327 composed of a pager command name or path eventually followed by
2328 command-line options.
2329
2330 This environment variable value supersedes the default value set
2331 in the pager configuration option. It can be defined with the
2332 config sub-command.
2333
2334 If MODULES_PAGER variable is set to an empty string or to the
2335 value cat, pager will not be launched.
2336
2337 MODULES_QUARANTINE_SUPPORT
2338 If set to 1, produces the shell code for quarantine mechanism
2339 when the autoinit sub-command generates the module shell func‐
2340 tion.
2341
2342 The generated shell code for quarantine mechanism indirectly
2343 passes the environment variable defined in
2344 MODULES_RUN_QUARANTINE to the modulecmd.tcl script to protect
2345 its run-time environment from side-effect coming from the cur‐
2346 rent definition of these variables.
2347
2348 To enable quarantine support, MODULES_QUARANTINE_SUPPORT should
2349 be set to 1 prior Modules initialization or the
2350 quarantine_support configuration should be set to 1 in the ini‐
2351 trc configuration file.
2352
2353 Generated code for quarantine mechanism sets the
2354 __MODULES_QUARANTINE_SET environment variable when calling the
2355 modulecmd.tcl script to make it restore the environment variable
2356 put in quarantine.
2357
2358 This environment variable value supersedes the default value set
2359 in the quarantine_support configuration option. It can be de‐
2360 fined with the config sub-command.
2361
2362 MODULES_REDIRECT_OUTPUT
2363 If set to 0, the output generated by module command is kept on
2364 stderr and not redirected to stdout channel.
2365
2366 This environment variable value supersedes the default value set
2367 in the redirect_output configuration option. It can be defined
2368 with the config sub-command. The --redirect and --no-redirect
2369 command line switches override this environment variable.
2370
2371 MODULES_RUN_QUARANTINE
2372 A space separated list of environment variable names that should
2373 be passed indirectly to modulecmd.tcl to protect its run-time
2374 environment from side-effect coming from their current defini‐
2375 tion.
2376
2377 If the quarantine mechanism has been included in module shell
2378 function (see MODULES_QUARANTINE_SUPPORT), each variable found
2379 in MODULES_RUN_QUARANTINE will have its value emptied or set to
2380 the value of the corresponding MODULES_RUNENV_<VAR> variable
2381 when defining modulecmd.tcl run-time environment.
2382
2383 Original values of these environment variables set in quarantine
2384 are passed to modulecmd.tcl via __MODULES_QUAR_<VAR> variables.
2385
2386 This environment variable value supersedes the default value set
2387 in the run_quarantine configuration option. It can be defined
2388 with the config sub-command.
2389
2390 MODULES_RUNENV_<VAR>
2391 Value to set to environment variable <VAR> for modulecmd.tcl
2392 run-time execution if <VAR> is referred in
2393 MODULES_RUN_QUARANTINE.
2394
2395 MODULES_SEARCH_MATCH
2396 When searching for modules with avail sub-command, defines the
2397 way query string should match against available module names.
2398 With starts_with value, returned modules are those whose name
2399 begins by search query string. When set to contains, any modules
2400 whose fully qualified name contains search query string are re‐
2401 turned.
2402
2403 This environment variable value supersedes the default value set
2404 in the search_match configuration option. It can be defined with
2405 the config sub-command. The --starts-with and --contains command
2406 line switches override this environment variable.
2407
2408 MODULES_SET_SHELL_STARTUP
2409 If set to 1, defines when module command initializes the shell
2410 startup file to ensure that the module command is still defined
2411 in sub-shells. Setting shell startup file means defining the ENV
2412 and BASH_ENV environment variable to the Modules bourne shell
2413 initialization script. If set to 0, shell startup file is not
2414 defined.
2415
2416 This environment variable value supersedes the default value set
2417 in the set_shell_startup configuration option. It can be defined
2418 with the config sub-command.
2419
2420 To enable shell startup file, MODULES_SET_SHELL_STARTUP should
2421 be set to 1 prior Modules initialization or the
2422 set_shell_startup configuration option should be set to 1 in the
2423 initrc configuration file.
2424
2425 MODULES_SHELLS_WITH_KSH_FPATH
2426 A list of shell on which the FPATH environment variable should
2427 be defined at initialization time to point to the ksh-functions
2428 directory where the ksh initialization script for module command
2429 is located. It enables for the listed shells to get module
2430 function defined when starting ksh as sub-shell from there.
2431
2432 Accepted values are a list of shell among sh, bash, csh, tcsh
2433 and fish separated by colon character (:).
2434
2435 This environment variable value supersedes the default value set
2436 in the shells_with_ksh_fpath configuration option. It can be de‐
2437 fined with the config sub-command.
2438
2439 To enable the setup of FPATH for some shells,
2440 MODULES_SHELLS_WITH_KSH_FPATH should be set to the list of these
2441 shells prior Modules initialization or the shells_with_ksh_fpath
2442 configuration option should be set to the list of these shells
2443 in the initrc configuration file.
2444
2445 MODULES_SILENT_SHELL_DEBUG
2446 If set to 1, disable any xtrace or verbose debugging property
2447 set on current shell session for the duration of either the mod‐
2448 ule command or the module shell initialization script. Only ap‐
2449 plies to Bourne Shell (sh) and its derivatives.
2450
2451 This environment variable value supersedes the default value set
2452 in the silent_shell_debug configuration option. It can be de‐
2453 fined with the config sub-command.
2454
2455 To generate the code to silence shell debugging property in the
2456 module shell function, MODULES_SILENT_SHELL_DEBUG should be set
2457 to 1 prior Modules initialization or the silent_shell_debug con‐
2458 figuration option should be set to 1 in the initrc configuration
2459 file.
2460
2461 MODULES_SITECONFIG
2462 Location of a site-specific configuration script to source into
2463 modulecmd.tcl. See also Modulecmd startup section.
2464
2465 This environment variable value supersedes the default value set
2466 in the extra_siteconfig configuration option. It can be defined
2467 with the config sub-command. This environment variable is ig‐
2468 nored if extra_siteconfig has been declared locked in
2469 locked_configs configuration option.
2470
2471 MODULES_TAG_ABBREV
2472 Specifies the abbreviation strings used to report module tags
2473 (see Module tags section). Its value is a colon-separated list
2474 of module tag names associated to an abbreviation string (e.g.
2475 tagname=abbrev).
2476
2477 If a tag is associated to an empty string abbreviation, this tag
2478 will not be reported. In case the whole MODULES_TAG_ABBREV envi‐
2479 ronment variable is set to an empty string, tags are reported
2480 but not abbreviated.
2481
2482 This environment variable value supersedes the default value set
2483 in the tag_abbrev configuration option. It can be defined with
2484 the config sub-command.
2485
2486 MODULES_TAG_COLOR_NAME
2487 Specifies the tag names or abbreviations whose graphical render‐
2488 ing should be applied over themselves instead of being applied
2489 over the name of the module they are attached to. Value of
2490 MODULES_TAG_COLOR_NAME is a colon-separated list of module tag
2491 names or abbreviation strings (see Module tags section).
2492
2493 When a select graphic rendition is defined for a tag name or a
2494 tag abbreviation string, it is applied over the module name as‐
2495 sociated with the tag and tag name or abbreviation is not dis‐
2496 played. When listed in MODULES_TAG_COLOR_NAME environment vari‐
2497 able, a tag name or abbreviation is displayed and select graphic
2498 rendition is applied over it.
2499
2500 This environment variable value supersedes the default value set
2501 in the tag_color_name configuration option. It can be defined
2502 with the config sub-command.
2503
2504 MODULES_TERM_BACKGROUND
2505 Inform Modules of the terminal background color to determine if
2506 the color set for dark background or the color set for light
2507 background should be used to color output in case no specific
2508 color set is defined with the MODULES_COLORS variable. Accepted
2509 values are dark and light.
2510
2511 This environment variable value supersedes the default value set
2512 in the term_background configuration option. It can be defined
2513 with the config sub-command.
2514
2515 MODULES_TERM_WIDTH
2516 Specifies the number of columns of the output. If set to 0, the
2517 output width will be the full terminal width, which is automati‐
2518 cally detected by the module command. Accepted values are inte‐
2519 gers comprised between 0 and 1000.
2520
2521 This environment variable value supersedes the default value set
2522 in the term_width configuration option. It can be defined with
2523 the config sub-command. The --width/-w command line switches
2524 override this environment variable.
2525
2526 MODULES_UNLOAD_MATCH_ORDER
2527 When a module unload request matches multiple loaded modules,
2528 unload firstly loaded module or lastly loaded module. Accepted
2529 values are returnfirst and returnlast.
2530
2531 This environment variable value supersedes the default value set
2532 in the unload_match_order configuration option. It can be de‐
2533 fined with the config sub-command.
2534
2535 MODULES_VARIANT_SHORTCUT
2536 Specifies the shortcut characters that could be used to specify
2537 and report module variants (see Module variants section). Its
2538 value is a colon-separated list of variant names associated to a
2539 shortcut character (e.g., variantname=shortcutchar).
2540
2541 A variant shortcut must be of one character length and must
2542 avoid characters used for other concerns or in module names
2543 (i.e., [-+~/@=a-zA-Z0-9]).
2544
2545 If a shortcut is associated to an empty string or an invalid
2546 character, this shortcut definition will be ignored.
2547
2548 This environment variable value supersedes the default value set
2549 in the variant_shortcut configuration option. It can be defined
2550 with the config sub-command.
2551
2552 MODULES_VERBOSITY
2553 Defines the verbosity level of the module command. Available
2554 verbosity levels from the least to the most verbose are:
2555
2556 • silent: turn off error, warning and informational messages but
2557 does not affect module command output result.
2558
2559 • concise: enable error and warning messages but disable infor‐
2560 mational messages.
2561
2562 • normal: turn on informational messages, like a report of the
2563 additional module evaluations triggered by loading or unload‐
2564 ing modules, aborted evaluation issues or a report of each
2565 module evaluation occurring during a restore or source
2566 sub-commands.
2567
2568 • verbose: add additional informational messages, like a system‐
2569 atic report of the loading or unloading module evaluations.
2570
2571 • verbose2: report loading or unloading module evaluations of
2572 hidden-loaded modules, report if loading module is already
2573 loaded or if unloading module is not loaded.
2574
2575 • trace: provide details on module searches, resolutions, selec‐
2576 tions and evaluations.
2577
2578 • debug: print debugging messages about module command execu‐
2579 tion.
2580
2581 • debug2: report modulecmd.tcl procedure calls in addition to
2582 printing debug messages.
2583
2584 This environment variable value supersedes the default value set
2585 in the verbosity configuration option. It can be defined with
2586 the config sub-command. The --silent, --verbose, --debug and
2587 --trace command line switches override this environment vari‐
2588 able.
2589
2590 MODULES_WA_277
2591 If set to 1 prior to Modules package initialization, enables
2592 workaround for Tcsh history issue (see
2593 https://github.com/cea-hpc/modules/issues/277). This issue
2594 leads to erroneous history entries under Tcsh shell. When work‐
2595 around is enabled, an alternative module alias is defined which
2596 fixes the history mechanism issue. However the alternative defi‐
2597 nition of the module alias weakens shell evaluation of the code
2598 produced by modulefiles. Characters with a special meaning for
2599 Tcsh shell (like { and }) may not be used anymore in shell alias
2600 definition otherwise the evaluation of the code produced by mod‐
2601 ulefiles will return a syntax error.
2602
2603 This environment variable value supersedes the default value set
2604 in the wa_277 configuration option. It can be defined with the
2605 config sub-command.
2606
2607 To enable this workaround, MODULES_WA_277 should be set to 1
2608 prior Modules initialization or the wa_277 configuration option
2609 should be set to 1 in the initrc configuration file.
2610
2611 MODULESHOME
2612 The location of the main Modules package file directory contain‐
2613 ing module command initialization scripts, the executable pro‐
2614 gram modulecmd.tcl, and a directory containing a collection of
2615 main modulefiles.
2616
2617 This environment variable value supersedes the default value set
2618 in the home configuration option. It can be defined with the
2619 config sub-command.
2620
2622 /usr/share/Modules
2623 The MODULESHOME directory.
2624
2625 /etc/environment-modules/initrc
2626 The configuration file evaluated by modulecmd.tcl when it initial‐
2627 izes to enable the default modulepaths, load the default modules and
2628 set module command configuration.
2629
2630 initrc is a modulefile(4) so it is written as a Tcl script and de‐
2631 fines modulepaths to enable with module use, modules to load with
2632 module load and configuration to apply with module config. As any
2633 modulefile initrc must begin with the Modules magic cookie (i.e.,
2634 #%Module file signature).
2635
2636 initrc is optional. When this configuration file is present it is
2637 evaluated after the modulespath configuration file. See the Package
2638 Initialization section for details.
2639
2640 /etc/environment-modules/modulespath
2641 The configuration file evaluated by modulecmd.tcl when it initial‐
2642 izes to enable the default modulepaths. This file contains the list
2643 of modulepaths separated by either newline or colon characters.
2644
2645 modulespath is optional. When this configuration file is present it
2646 is evaluated before the initrc configuration file. See the Package
2647 Initialization section for details.
2648
2649 /etc/environment-modules/siteconfig.tcl
2650 The site-specific configuration script of modulecmd.tcl. An addi‐
2651 tional configuration script could be defined using the
2652 MODULES_SITECONFIG environment variable.
2653
2654 /etc/environment-modules/rc
2655 The system-wide modules rc file. The location of this file can be
2656 changed using the MODULERCFILE environment variable as described
2657 above.
2658
2659 $HOME/.modulerc
2660 The user specific modules rc file.
2661
2662 $HOME/.module
2663 The user specific collection directory.
2664
2665 /usr/share/Modules/modulefiles
2666 The directory for system-wide modulefiles. The location of the di‐
2667 rectory can be changed using the MODULEPATH environment variable as
2668 described above.
2669
2670 /usr/share/Modules/libexec/modulecmd.tcl
2671 The modulefile interpreter that gets executed upon each invocation
2672 of module.
2673
2674 /usr/share/Modules/init/<shell>
2675 The Modules package initialization file sourced into the user's en‐
2676 vironment.
2677
2679 ml(1), modulefile(4)
2680
2682 1996-1999 John L. Furlani & Peter W. Osel, 1998-2017 R.K.Owen,
2683 2002-2004 Mark Lakata, 2004-2017 Kent Mein, 2016-2022 Xavier Delaruelle
2684
2685
2686
2687
26885.1.1 2022-05-31 MODULE(1)