1MODULE(1)                           Modules                          MODULE(1)
2
3
4

NAME

6       module - command interface to the Modules package
7

SYNOPSIS

9       module [switches] [sub-command [sub-command-args]]
10

DESCRIPTION

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
1486auto-loaded: module has been automatically loaded by another module
1487
1488forbidden: module has been set forbidden through the use of the  mod‐
1489         ule-forbid command and thus this module cannot be loaded.
1490
1491hidden: 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
1495hidden-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
1499loaded: module is currently loaded
1500
1501nearly-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
1509keep-loaded:  auto-loaded  module  cannot  be automatically unloaded.
1510         This tag is also set through the use of the always-load command.
1511
1512sticky: module once  loaded  cannot  be  unloaded  unless  forced  or
1513         reloaded (see Sticky modules section)
1514
1515super-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
1567sticky module: cannot be unloaded unless if the unload is  forced  or
1568         if the module is reloaded after being unloaded
1569
1570super-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

EXIT STATUS

1651       The  module command exits with 0 if its execution succeed.  Otherwise 1
1652       is returned.
1653

ENVIRONMENT

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
1956alias: module aliases.
1957
1958dirwsym: directories associated with symbolic versions.
1959
1960key: legend appended at the end of the output to explain it.
1961
1962modulepath: modulepath names set as header prior the  list  of
1963                available modules found in them.
1964
1965sym: symbolic versions associated with available modules.
1966
1967tag: 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
2229header: sentence to introduce the list of loaded modules or to
2230                state that no modules are loaded currently.
2231
2232idx: index position of each loaded module.
2233
2234key: legend appended at the end of the output to explain it.
2235
2236variant: variant values selected for loaded modules.
2237
2238sym: symbolic versions associated with loaded modules.
2239
2240tag: 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
2279modulefiles  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
2556silent: turn off error, warning and informational messages but
2557                does not affect module command output result.
2558
2559concise:  enable error and warning messages but disable infor‐
2560                mational messages.
2561
2562normal: 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
2568verbose: add additional informational messages, like a system‐
2569                atic report of the loading or unloading module evaluations.
2570
2571verbose2:  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
2575trace: provide details on module searches, resolutions, selec‐
2576                tions and evaluations.
2577
2578debug: print debugging messages about  module  command  execu‐
2579                tion.
2580
2581debug2:  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

FILES

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

SEE ALSO

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)
Impressum