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, fish and cmd shells are supported by modulecmd.tcl.  In
65       addition,  python, perl, ruby, tcl, cmake, r and lisp "shells" are sup‐
66       ported which writes the environment changes to stdout as python,  perl,
67       ruby, 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  for  de‐
75       tailed 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(), globals())
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. Siteconfig script  is  a  Tcl  script  located  at
106       /etc/environment-modules/siteconfig.tcl.  It  enables  to supersede any
107       global  variable  or  procedure  definition   of   modulecmd.tcl.   See
108       Site-specific configuration for detailed information.
109
110       Afterward,  modulecmd.tcl  sources  rc files which contain global, user
111       and modulefile specific setups. These files are interpreted as  module‐
112       files. See modulefile for detailed information.
113
114       Upon  invocation  of modulecmd.tcl module run-command files are sourced
115       in the following order:
116
117       1. Global RC file as specified by MODULERCFILE variable  or  /etc/envi‐
118          ronment-modules/rc.  If MODULERCFILE points to a directory, the mod‐
119          ulerc file in this directory is used as global RC file.
120
121       2. User specific module RC file $HOME/.modulerc
122
123       3. All .modulerc and .version files found during modulefile seeking.
124
125       These module run-command files must begins like  modulefiles  with  the
126       #%Module  file  signature, also called the Modules magic cookie. A ver‐
127       sion number may be placed after this string.  The  version  number  re‐
128       flects  the  minimum version of modulecmd.tcl required to interpret the
129       run-command file. If a version number doesn't exist, then modulecmd.tcl
130       will assume the run-command file is compatible. Files without the magic
131       cookie or with a version number greater than  the  current  version  of
132       modulecmd.tcl  will  not  be interpreted and an error is reported. Such
133       error  does  not  abort   the   whole   module   evaluation.   If   the
134       mcookie_version_check  configuration is disabled the version number set
135       is not checked.
136
137       NOTE:
138          Run-command files are intended to set  parameters  for  modulefiles,
139          not to configure the module command itself.
140
141   Command line switches
142       The  module  command accepts command line switches as its first parame‐
143       ter. These may be used to control output format of all information dis‐
144       played  and  the  module  behavior in case of locating and interpreting
145       modulefiles.
146
147       All switches may be entered either in short or long notation. The  fol‐
148       lowing switches are accepted:
149
150       --all, -a
151              Include  hidden modules in search performed with avail, aliases,
152              list, lint, savelist, search or whatis sub-commands. Hard-hidden
153              modules are not affected by this option.
154
155       --auto Enable  automated module handling mode on sub-commands that load
156              or unload modulefiles. See also MODULES_AUTO_HANDLING section.
157
158       --color=<WHEN>
159              Colorize the output. WHEN defaults to always or can be never  or
160              auto. See also MODULES_COLOR section.
161
162       --contains, -C
163              On avail, list and savelist sub-commands, return modules or col‐
164              lections  whose  fully  qualified  name  contains  search  query
165              string.
166
167       --debug, -D, -DD
168              Debug  mode. Causes module to print debugging messages about its
169              progress. Multiple -D options increase the debug verbosity.  The
170              maximum is 2.
171
172       --default, -d
173              On  avail  sub-command, display only the default version of each
174              module name. Default version is the explicitly set default  ver‐
175              sion  or  also the implicit default version if the configuration
176              option implicit_default is  enabled  (see  Locating  Modulefiles
177              section  in  the  modulefile man page for further details on im‐
178              plicit default version).
179
180       --force, -f
181              On load,  unload,  switch,  load-any,  try-load,  mod-to-sh  and
182              source  sub-commands  by-pass  any  unsatisfied  modulefile con‐
183              straint corresponding to the declared prereq and conflict. Which
184              means  for  instance that a modulefile will be loaded even if it
185              comes in conflict with another loaded modulefile or that a  mod‐
186              ulefile  will  be unloaded even if it is required as a prereq by
187              another modulefile.
188
189              On clear sub-command, skip the confirmation dialog and proceed.
190
191              On purge sub-command also unload sticky modules and  modulefiles
192              that are depended by non-unloadable modules.
193
194       --help, -h
195              Give some helpful usage information, and terminates the command.
196
197       --icase, -i
198              Match  module specification arguments in a case insensitive man‐
199              ner.
200
201       --ignore-cache
202              Ignore module cache.
203
204       --ignore-user-rc
205              Skip evaluation of user-specific  module  rc  file  ($HOME/.mod‐
206              ulerc).
207
208       --indepth
209              On  avail  sub-command,  include  in search results the matching
210              modulefiles and directories and recursively the modulefiles  and
211              directories contained in these matching directories.
212
213       --json, -j
214              Display avail, list, savelist, stashlist, whatis and search out‐
215              put in JSON format.
216
217       --latest, -L
218              On avail  sub-command,  display  only  the  highest  numerically
219              sorted  version  of  each  module name (see Locating Modulefiles
220              section in the modulefile man page).
221
222       --long, -l
223              Display avail, list, savelist and stashlist output in long  for‐
224              mat.
225
226       --no-auto
227              Disable automated module handling mode on sub-commands that load
228              or unload modulefiles. See also MODULES_AUTO_HANDLING section.
229
230       --no-indepth
231              On avail sub-command, limit search results to the matching  mod‐
232              ulefiles  and  directories found at the depth level expressed by
233              the search query. Thus modulefiles contained in directories part
234              of the result are excluded.
235
236       --no-pager
237              Do not pipe message output into a pager.
238
239       --no-redirect
240              Do not send message output to stdout. Keep it on stderr.
241
242       --output=LIST, -o LIST
243              Define  the  content to report in addition to module names. This
244              option is supported by avail and list sub-commands on their reg‐
245              ular  or  terse output modes. Accepted values are a LIST of ele‐
246              ments to report separated by colon character (:). The  order  of
247              the elements in LIST does not matter.
248
249              Accepted elements in LIST for avail sub-command are: modulepath,
250              alias, dirwsym, indesym, sym, tag, key, variant  and  variantif‐
251              spec.
252
253              Accepted elements in LIST for list sub-command are: header, idx,
254              variant, sym, tag and key.
255
256              The order of the elements in LIST does not matter. Module  names
257              are  the  only  content  reported  when  LIST is set to an empty
258              value.
259
260              LIST may be prefixed by + or -  character  to  indicate  respec‐
261              tively to append it to or subtract it from current configuration
262              option value.
263
264              See also MODULES_AVAIL_OUTPUT and MODULES_LIST_OUTPUT.
265
266       --paginate
267              Pipe all message output into less (or if set, to the command re‐
268              ferred  in  MODULES_PAGER  variable) if error output stream is a
269              terminal. See also MODULES_PAGER section.
270
271       --redirect
272              Send message output to stdout instead of stderr. Only  supported
273              on sh, bash, ksh, zsh and fish shells.
274
275       --silent, -s
276              Turn  off error, warning and informational messages. module com‐
277              mand output result is not affected by silent mode.
278
279       --starts-with, -S
280              On avail, list and savelist sub-commands, return modules or col‐
281              lections whose name starts with search query string.
282
283       --tag=LIST
284              On  load, load-any, switch and try-load sub-commands, apply LIST
285              of module tags to the loading modulefile.  LIST  corresponds  to
286              the  concatenation of multiple tags separated by colon character
287              (:). LIST should not  contain  tags  inherited  from  modulefile
288              state  or  from  other modulefile commands. If module is already
289              loaded, tags from LIST are added to the list of tags already ap‐
290              plied to this module.
291
292       --terse, -t
293              Display avail, list, savelist and stashlist output in short for‐
294              mat.
295
296       --timer
297              Prints at the end of the output an evaluation of the total  exe‐
298              cution  time  of the module command. When mixed with a single or
299              multiple --debug options, replaces regular debug messages by re‐
300              ports of the execution time of every internal procedure calls.
301
302       --trace, -T
303              Trace  mode. Report details on module searches, resolutions, se‐
304              lections and evaluations in addition to  printing  verbose  mes‐
305              sages.
306
307       --verbose, -v, -vv
308              Enable  verbose messages during module command execution. Multi‐
309              ple -v options increase the verbosity level. The maximum is 2.
310
311       --version, -V
312              Lists the current version of the  module  command.  The  command
313              then terminates without further processing.
314
315       --width=COLS, -w COLS
316              Set   the  width  of  the  output  to  COLS  columns.  See  also
317              MODULES_TERM_WIDTH section.
318
319   Module Sub-Commands
320       add [options] modulefile...
321              See load.
322
323       add-any [options] modulefile...
324              See load-any.
325
326       aliases [-a]
327              List all available symbolic version-names  and  aliases  in  the
328              current MODULEPATH. All directories in the MODULEPATH are recur‐
329              sively searched in the same manner than for the  avail  sub-com‐
330              mand.  Only  the symbolic version-names and aliases found in the
331              search are displayed.
332
333       append-path [-d C|--delim C|--delim=C] [--duplicates] variable value...
334              Append value to environment variable. The variable is  a  colon,
335              or  delimiter, separated list. See append-path in the modulefile
336              man page for further explanation.
337
338              When append-path is called as a module sub-command,  the  refer‐
339              ence  counter  variable, which denotes the number of times value
340              has been added to environment variable, is not updated unless if
341              the --duplicates option is set.
342
343       apropos [-a] [-j] string
344              See search.
345
346       avail  [-d|-L]  [-t|-l|-j]  [-a]  [-o LIST] [-S|-C] [--indepth|--no-in‐
347       depth] [pattern...]
348              List all available modulefiles in the  current  MODULEPATH.  All
349              directories in the MODULEPATH are recursively searched for files
350              containing the Modules magic cookie. If a  pattern  argument  is
351              given,  then  each  directory  in the MODULEPATH is searched for
352              modulefiles whose pathname, symbolic version-name or alias match
353              pattern  in  a  case  insensitive manner by default. pattern may
354              contain wildcard characters.  Multiple versions of  an  applica‐
355              tion  can be supported by creating a subdirectory for the appli‐
356              cation containing modulefiles for each version.
357
358              Symbolic version-names and aliases found in the search are  dis‐
359              played in the result of this sub-command. Symbolic version-names
360              are displayed next to the modulefile they are assigned to within
361              parenthesis.  Aliases are listed in the MODULEPATH section where
362              they have been defined. To distinguish aliases from  modulefiles
363              a  @  symbol  is  added  within  parenthesis next to their name.
364              Aliases defined through a global or user specific module RC file
365              are listed under the global/user modulerc section.
366
367              When  colored  output is enabled and a specific graphical rendi‐
368              tion is defined for module default version, the  default  symbol
369              is  omitted  and  instead the defined graphical rendition is ap‐
370              plied to the relative modulefile. When colored output is enabled
371              and  a specific graphical rendition is defined for module alias,
372              the @ symbol is omitted. The defined graphical rendition applies
373              to  the  module alias name. See MODULES_COLOR and MODULES_COLORS
374              sections for details on colored output.
375
376              Module tags applying to the available  modulefiles  returned  by
377              the  avail  sub-command  are reported along the module name they
378              are associated to (see Module tags section).
379
380              Module variants and their available values may be reported along
381              the  module name they belong to (see Module variants section) if
382              defined in avail output configuration  option  (see  --output/-o
383              option).  The Extra match search process is triggered to collect
384              variant information.
385
386              A Key section is added at the end of the output in case some el‐
387              ements are reported in parentheses or chevrons along module name
388              or if some graphical rendition is made  over  some  output  ele‐
389              ments.  This Key section gives hints on the meaning of such ele‐
390              ments.
391
392              The parameter pattern may also refer to  a  symbolic  modulefile
393              name or a modulefile alias. It may also leverage a specific syn‐
394              tax to finely select module version (see Advanced module version
395              specifiers section below).
396
397              If  pattern  contains  variant specification or Extra specifier,
398              the Extra match search process is triggered to  collect  command
399              information used in modulefiles. Modules are included in results
400              only if they match pattern variant specification and extra spec‐
401              ifier.  pattern  may  be  a  bare variant specification or extra
402              specifier without mention of a module name.
403
404       cachebuild [modulepath...]
405              Build module cache file for designated modulepaths. If no  argu‐
406              ment  is  provided cache file is built for every modulepath cur‐
407              rently enabled. Cache file creation is skipped  for  modulepaths
408              where user cannot write in.
409
410              The  name and content of every readable modulefiles and rc files
411              are recorded into cache file. Also  last  modification  time  of
412              modulefiles  and invalid modulefile error messages are recorded.
413              With all these information, the sole cache file is evaluated  to
414              know what is available within modulepath.
415
416              See Module cache section for more details on module cache mecha‐
417              nism.
418
419       cacheclear
420              Delete module cache file in every modulepath currently  enabled.
421              If user cannot write in a modulepath directory, cache file dele‐
422              tion is skipped for this modulepath.
423
424              See Module cache section for more details on module cache mecha‐
425              nism.
426
427       clear [-f]
428              Force  the  Modules  package to believe that no modules are cur‐
429              rently loaded.  A  confirmation  is  requested  if  command-line
430              switch  -f (or --force) is not passed. Typed confirmation should
431              equal to yes or y in order to proceed.
432
433       config [--dump-state|name [value]|--reset name]
434              Gets or sets modulecmd.tcl options. Reports  the  currently  set
435              value  of  passed option name or all existing options if no name
436              passed. If a name and a value are provided, the value of  option
437              name  is  set to value. If command-line switch --reset is passed
438              in addition to a name,  overridden  value  for  option  name  is
439              cleared.
440
441              When  a  reported option value differs from default value a men‐
442              tion is added to indicate whether the overridden value is coming
443              from  a  command-line  switch  (cmd-line) or from an environment
444              variable (env-var). When a reported option value is  locked  and
445              cannot be altered a (locked) mention is added.
446
447              If  no  value  is  currently set for an option name, the mention
448              <undef> is reported.
449
450              For options whose value is a colon-separated list, value may  be
451              prefixed  by  + or - character. It indicates respectively to ap‐
452              pend it to or subtract it from current option value.
453
454              When command-line switch --dump-state is  passed,  current  mod‐
455              ulecmd.tcl  state  and Modules-related environment variables are
456              reported in addition to currently set modulecmd.tcl options.
457
458              Existing option names are:
459
460              advanced_version_spec
461                     Advanced module version specification  to  finely  select
462                     modulefiles.
463
464                     Default  value  is  1.  It can be changed at installation
465                     time  with  --disable-advanced-version-spec  option.  The
466                     MODULES_ADVANCED_VERSION_SPEC environment variable is de‐
467                     fined by config sub-command when changing this configura‐
468                     tion    option    from    its    default    value.    See
469                     MODULES_ADVANCED_VERSION_SPEC description for details.
470
471              auto_handling
472                     Automated module handling mode.
473
474                     Default value is 1. It can  be  changed  at  installation
475                     time    with    --disable-auto-handling    option.    The
476                     MODULES_AUTO_HANDLING environment variable is defined  by
477                     config  sub-command  when changing this configuration op‐
478                     tion from its default value.  The  --auto  and  --no-auto
479                     command line switches change the value of this configura‐
480                     tion option. See  MODULES_AUTO_HANDLING  description  for
481                     details.
482
483              avail_indepth
484                     avail sub-command in depth search mode.
485
486                     Default  value  is  1.  It can be changed at installation
487                     time    with    --disable-avail-indepth    option.    The
488                     MODULES_AVAIL_INDEPTH  environment variable is defined by
489                     config sub-command when changing this  configuration  op‐
490                     tion   from   its   default   value.  The  --indepth  and
491                     --no-indepth command line switches change  the  value  of
492                     this  configuration option. See MODULES_AVAIL_INDEPTH de‐
493                     scription for details.
494
495              avail_output
496                     Content to report in addition to module  names  on  avail
497                     sub-command regular output mode.
498
499                     Default value is modulepath:alias:dirwsym:sym:tag:key. It
500                     can   be    changed    at    installation    time    with
501                     --with-avail-output  option. The MODULES_AVAIL_OUTPUT en‐
502                     vironment variable is defined by config sub-command  when
503                     changing  this  configuration  option  from  its  default
504                     value. The --output/-o command line switches  change  the
505                     value     of     this     configuration    option.    See
506                     MODULES_AVAIL_OUTPUT description for details.
507
508              avail_terse_output
509                     Content to report in addition to module  names  on  avail
510                     sub-command terse output mode.
511
512                     Default value is modulepath:alias:dirwsym:sym:tag. It can
513                     be     changed     at     installation     time      with
514                     --with-avail-terse-output           option.           The
515                     MODULES_AVAIL_TERSE_OUTPUT environment  variable  is  de‐
516                     fined by config sub-command when changing this configura‐
517                     tion option from its default value. The --output/-o  com‐
518                     mand line switches change the value of this configuration
519                     option. See  MODULES_AVAIL_TERSE_OUTPUT  description  for
520                     details.
521
522              cache_buffer_bytes
523                     Size  of  the  buffer  used when reading or writing cache
524                     files.
525
526                     Default value is 32768. Values between 4096  and  1000000
527                     are accepted.  The MODULES_CACHE_BUFFER_BYTES environment
528                     variable is defined by config sub-command  when  changing
529                     this configuration option from its default value.
530
531              cache_expiry_secs
532                     Number  of seconds a cache file is considered valid after
533                     being generated.
534
535                     Default value is 0. Values between 0 and 31536000 are ac‐
536                     cepted.   The MODULES_CACHE_EXPIRY_SECS environment vari‐
537                     able is defined by config sub-command when changing  this
538                     configuration option from its default value.
539
540              collection_pin_version
541                     Register exact modulefile version in collection.
542
543                     Default  value  is  0. The MODULES_COLLECTION_PIN_VERSION
544                     environment variable is  defined  by  config  sub-command
545                     when  changing this configuration option from its default
546                     value. See MODULES_COLLECTION_PIN_VERSION description for
547                     details.
548
549              collection_pin_tag
550                     Register full tag list applying to modulefiles in collec‐
551                     tion.
552
553                     Default value is 0. The MODULES_COLLECTION_PIN_TAG  envi‐
554                     ronment  variable  is  defined by config sub-command when
555                     changing  this  configuration  option  from  its  default
556                     value. See MODULES_COLLECTION_PIN_TAG description for de‐
557                     tails.
558
559              collection_target
560                     Collection target which is valid for current system.
561
562                     This  configuration  option  is  unset  by  default.  The
563                     MODULES_COLLECTION_TARGET environment variable is defined
564                     by config sub-command when  changing  this  configuration
565                     option      from      its      default     value.     See
566                     MODULES_COLLECTION_TARGET description for details.
567
568              color  Colored output mode.
569
570                     Default value is auto. It can be changed at  installation
571                     time with --disable-color option. The MODULES_COLOR envi‐
572                     ronment variable is defined by  config  sub-command  when
573                     changing  this  configuration  option  from  its  default
574                     value. The --color  command  line  switches  changes  the
575                     value of this configuration option. See MODULES_COLOR de‐
576                     scription for details.
577
578              colors Chosen colors to highlight output items.
579
580                     Default                     value                      is
581                     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.
582                     It   can   be   changed   at   installation   time   with
583                     --with-dark-background-colors                          or
584                     --with-light-background-colors  options  in   conjunction
585                     with --with-terminal-background. The MODULES_COLORS envi‐
586                     ronment variable is defined by  config  sub-command  when
587                     changing  this  configuration  option  from  its  default
588                     value. See MODULES_COLORS description for details.
589
590              contact
591                     Modulefile contact address.
592
593                     Default value is root@localhost. The MODULECONTACT  envi‐
594                     ronment  variable  is  defined by config sub-command when
595                     changing  this  configuration  option  from  its  default
596                     value. See MODULECONTACT description for details.
597
598              extended_default
599                     Allow partial module version specification.
600
601                     Default  value  is  1.  It can be changed at installation
602                     time   with   --disable-extended-default   option.    The
603                     MODULES_EXTENDED_DEFAULT  environment variable is defined
604                     by config sub-command when  changing  this  configuration
605                     option      from      its      default     value.     See
606                     MODULES_EXTENDED_DEFAULT description for details.
607
608              editor Text editor command to open modulefile with through  edit
609                     sub-command.
610
611                     Default  value  is  vi. It can be changed at installation
612                     time with --with-editor option. The MODULES_EDITOR  envi‐
613                     ronment  variable  is  defined by config sub-command when
614                     changing  this  configuration  option  from  its  default
615                     value. See MODULES_EDITOR description for details.
616
617              extra_siteconfig
618                     Additional  site-specific  configuration script location.
619                     See Site-specific configuration section for details.
620
621                     This  configuration  option  is  unset  by  default.  The
622                     MODULES_SITECONFIG  environment  variable  is  defined by
623                     config sub-command when changing this  configuration  op‐
624                     tion  from  its default value. See MODULES_SITECONFIG de‐
625                     scription for details.
626
627              home   Location of Modules package main directory.
628
629                     Default value is /usr/share/Modules. It can be changed at
630                     installation time with --prefix or --with-moduleshome op‐
631                     tions. The MODULESHOME environment variable is defined by
632                     config  sub-command  when changing this configuration op‐
633                     tion from its default value.  See MODULESHOME description
634                     for details.
635
636              icase  Enable case insensitive match.
637
638                     Default  value  is search. It can be changed at installa‐
639                     tion time with --with-icase option. The MODULES_ICASE en‐
640                     vironment  variable is defined by config sub-command when
641                     changing  this  configuration  option  from  its  default
642                     value.  The  --icase/-i  command line switches change the
643                     value of this configuration option. See MODULES_ICASE de‐
644                     scription for details.
645
646              ignore_cache
647                     Ignore module cache.
648
649                     Default  is 0. The MODULES_IGNORE_CACHE environment vari‐
650                     able is defined by config sub-command when changing  this
651                     configuration   option   from   its  default  value.  The
652                     --ignore-cache command line switch changes the  value  of
653                     this configuration option.
654
655              ignore_user_rc
656                     Skip   evaluation   of   user-specific   module  rc  file
657                     ($HOME/.modulerc).
658
659                     Default  is  0.  The  MODULES_IGNORE_USER_RC  environment
660                     variable  is  defined by config sub-command when changing
661                     this configuration option from  its  default  value.  The
662                     --ignore-user-rc command line switch changes the value of
663                     this configuration option.
664
665              ignored_dirs
666                     Directories ignored when looking for modulefiles.
667
668                     Default value is CVS RCS SCCS .svn .git .SYNC  .sos.  The
669                     value of this option cannot be altered.
670
671              implicit_default
672                     Set an implicit default version for modules.
673
674                     Default  value  is  1.  It can be changed at installation
675                     time   with   --disable-implicit-default   option.    The
676                     MODULES_IMPLICIT_DEFAULT  environment variable is defined
677                     by config sub-command when  changing  this  configuration
678                     option      from      its      default     value.     See
679                     MODULES_IMPLICIT_DEFAULT description for details.
680
681              implicit_requirement
682                     Implicitly define a requirement onto modules specified on
683                     module commands in modulefile.
684
685                     Default  value  is  1.  It can be changed at installation
686                     time  with  --disable-implicit-requirement  option.   The
687                     MODULES_IMPLICIT_REQUIREMENT  environment variable is de‐
688                     fined by config sub-command when changing this configura‐
689                     tion    option    from    its    default    value.    See
690                     MODULES_IMPLICIT_REQUIREMENT description for details.
691
692              list_output
693                     Content to report in addition to  module  names  on  list
694                     sub-command regular output mode.
695
696                     Default  value  is header:idx:variant:sym:tag:key. It can
697                     be changed at installation time  with  --with-list-output
698                     option.  The  MODULES_LIST_OUTPUT environment variable is
699                     defined by config sub-command when changing this configu‐
700                     ration  option  from  its  default value. The --output/-o
701                     command line switches change the value of this configura‐
702                     tion  option. See MODULES_LIST_OUTPUT description for de‐
703                     tails.
704
705              list_terse_output
706                     Content to report in addition to  module  names  on  list
707                     sub-command terse output mode.
708
709                     Default  value  is header. It can be changed at installa‐
710                     tion  time  with  --with-list-terse-output  option.   The
711                     MODULES_LIST_TERSE_OUTPUT environment variable is defined
712                     by config sub-command when  changing  this  configuration
713                     option  from  its  default value. The --output/-o command
714                     line switches change the value of this configuration  op‐
715                     tion.  See  MODULES_LIST_TERSE_OUTPUT description for de‐
716                     tails.
717
718              locked_configs
719                     Configuration options that cannot be superseded. All  op‐
720                     tions  referred  in locked_configs value are locked, thus
721                     their value cannot be altered.
722
723                     This configuration option is set to an empty value by de‐
724                     fault.  It  can  be  changed  at  installation  time with
725                     --with-locked-configs option.  The value of  this  option
726                     cannot be altered.
727
728              mcookie_check
729                     Defines  if the Modules magic cookie (i.e., #%Module file
730                     signature) should be checked to determine if a file is  a
731                     modulefile.
732
733                     Default  value is always. The MODULES_MCOOKIE_CHECK envi‐
734                     ronment variable is defined by  config  sub-command  when
735                     changing  this  configuration  option  from  its  default
736                     value. See MODULES_MCOOKIE_CHECK description for details.
737
738              mcookie_version_check
739                     Defines if the version set in the  Modules  magic  cookie
740                     used  in modulefile should be checked against the version
741                     of modulecmd.tcl to determine if the modulefile could  be
742                     evaluated or not.
743
744                     Default  value  is  1.  It can be changed at installation
745                     time  with  --disable-mcookie-version-check  option.  The
746                     MODULES_MCOOKIE_VERSION_CHECK environment variable is de‐
747                     fined by config sub-command when changing this configura‐
748                     tion    option    from    its    default    value.    See
749                     MODULES_MCOOKIE_VERSION_CHECK description for details.
750
751              ml     Define ml command at initialization time.
752
753                     Default value is 1. It can  be  changed  at  installation
754                     time with --disable-ml option. The MODULES_ML environment
755                     variable is defined by config sub-command  when  changing
756                     this  configuration  option  from  its default value. See
757                     MODULES_ML description for details.
758
759              nearly_forbidden_days
760                     Set the number of days  a  module  should  be  considered
761                     nearly forbidden prior reaching its expiry date.
762
763                     Default  value  is  14. It can be changed at installation
764                     time  with   --with-nearly-forbidden-days   option.   The
765                     MODULES_NEARLY_FORBIDDEN_DAYS environment variable is de‐
766                     fined by config sub-command when changing this configura‐
767                     tion    option    from    its    default    value.    See
768                     MODULES_NEARLY_FORBIDDEN_DAYS description for details.
769
770              pager  Text viewer to paginate message output.
771
772                     Default value is less -eFKRX. It can be  changed  at  in‐
773                     stallation  time  with --with-pager and --with-pager-opts
774                     options. The MODULES_PAGER environment  variable  is  de‐
775                     fined by config sub-command when changing this configura‐
776                     tion option from its default  value.   See  MODULES_PAGER
777                     description for details.
778
779              protected_envvars
780                     Prevents any modification of listed environment variables
781                     (colon : separator).
782
783                     This  configuration  option  is  unset  by  default.  The
784                     MODULES_PROTECTED_ENVVARS environment variable is defined
785                     by config sub-command when  changing  this  configuration
786                     option      from      its      default     value.     See
787                     MODULES_PROTECTED_ENVVARS description for details.
788
789              quarantine_support
790                     Defines if code for quarantine mechanism  support  should
791                     be generated in module shell function definition.
792
793                     Default  value  is  0.  It can be changed at installation
794                     time   with   --enable-quarantine-support   option.   The
795                     MODULES_QUARANTINE_SUPPORT  environment  variable  is de‐
796                     fined by config sub-command when changing this configura‐
797                     tion    option    from    its    default    value.    See
798                     MODULES_QUARANTINE_SUPPORT description for details.
799
800              rcfile Global run-command file location.
801
802                     This  configuration  option  is  unset  by  default.  The
803                     MODULERCFILE  environment  variable  is defined by config
804                     sub-command when changing this configuration option  from
805                     its  default  value. See MODULERCFILE description for de‐
806                     tails.
807
808              redirect_output
809                     Control whether or  not  the  output  of  module  command
810                     should be redirected from stderr to stdout.
811
812                     Default  value is 1. The MODULES_REDIRECT_OUTPUT environ‐
813                     ment variable  is  defined  by  config  sub-command  when
814                     changing  this  configuration  option  from  its  default
815                     value. The  --redirect  and  --no-redirect  command  line
816                     switches  change  the value of this configuration option.
817                     See MODULES_REDIRECT_OUTPUT description for details.
818
819              reset_target_state
820                     Control behavior of reset sub-command.  Whether  environ‐
821                     ment  should  be  purged (__purge__), initial environment
822                     (__init__) or a named collection (any other value) should
823                     restored.
824
825                     Default value is __init__. The MODULES_RESET_TARGET_STATE
826                     environment variable is  defined  by  config  sub-command
827                     when  changing this configuration option from its default
828                     value. See MODULES_RESET_TARGET_STATE description for de‐
829                     tails.
830
831              run_quarantine
832                     Environment   variables   to   indirectly  pass  to  mod‐
833                     ulecmd.tcl.
834
835                     This configuration option is set to an empty value by de‐
836                     fault.  It  can  be  changed  at  installation  time with
837                     --with-quarantine-vars       option       that       sets
838                     MODULES_RUN_QUARANTINE. This environment variable is also
839                     defined by config sub-command when changing this configu‐
840                     ration option. See MODULES_RUN_QUARANTINE description for
841                     details.
842
843              search_match
844                     Module search match style.
845
846                     Default value is starts_with. It can be  changed  at  in‐
847                     stallation  time  with  --with-search-match  option.  The
848                     MODULES_SEARCH_MATCH environment variable is  defined  by
849                     config  sub-command  when changing this configuration op‐
850                     tion  from  its  default  value.   The   --contains   and
851                     --starts-with  command  line switches change the value of
852                     this configuration option. See  MODULES_SEARCH_MATCH  de‐
853                     scription for details.
854
855              set_shell_startup
856                     Ensure module command definition by setting shell startup
857                     file.
858
859                     Default value is 0. It can  be  changed  at  installation
860                     time    with   --enable-set-shell-startup   option.   The
861                     MODULES_SET_SHELL_STARTUP environment variable is defined
862                     by  config  sub-command  when changing this configuration
863                     option     from     its      default      value.      See
864                     MODULES_SET_SHELL_STARTUP description for details.
865
866              shells_with_ksh_fpath
867                     Ensure  module  command  is  defined  in  ksh  when it is
868                     started as a sub-shell from the listed shells.
869
870                     This configuration option is set to an empty value by de‐
871                     fault.   The   MODULES_SHELLS_WITH_KSH_FPATH  environment
872                     variable is defined by config sub-command  when  changing
873                     this  configuration  option  from  its default value. See
874                     MODULES_SHELLS_WITH_KSH_FPATH description for details.
875
876              silent_shell_debug
877                     Disablement of shell debugging property  for  the  module
878                     command.  Also defines if code to silence shell debugging
879                     property should be generated  in  module  shell  function
880                     definition.
881
882                     Default  value  is  0.  It can be changed at installation
883                     time with --enable-silent-shell-debug-support option. The
884                     MODULES_SILENT_SHELL_DEBUG  environment  variable  is de‐
885                     fined by config sub-command when changing this configura‐
886                     tion    option    from    its    default    value.    See
887                     MODULES_SILENT_SHELL_DEBUG description for details.
888
889              siteconfig
890                     Primary site-specific configuration script location.  See
891                     Site-specific configuration section for details.
892
893                     Default value is /etc/environment-modules/siteconfig.tcl.
894                     It can be changed at installation time with  --prefix  or
895                     --etcdir  options. The value of this option cannot be al‐
896                     tered.
897
898              tag_abbrev
899                     Abbreviations to use to report module tags.
900
901                     Default  value  is  auto-loaded=aL:loaded=L:hidden=H:hid‐
902                     den-loaded=H:forbidden=F:nearly-forbidden=nF:sticky=S:su‐
903                     per-sticky=sS:keep-loaded=kL.  It can be changed  at  in‐
904                     stallation   time   with  --with-tag-abbrev  option.  The
905                     MODULES_TAG_ABBREV environment  variable  is  defined  by
906                     config  sub-command  when changing this configuration op‐
907                     tion from its default value. See  MODULES_TAG_ABBREV  de‐
908                     scription for details.
909
910              tag_color_name
911                     Tags whose name should be colored instead of module name.
912
913                     This configuration option is set to an empty value by de‐
914                     fault. It  can  be  changed  at  installation  time  with
915                     --with-tag-color-name option.  The MODULES_TAG_COLOR_NAME
916                     environment variable is  defined  by  config  sub-command
917                     when  changing this configuration option from its default
918                     value. See  MODULES_TAG_COLOR_NAME  description  for  de‐
919                     tails.
920
921              tcl_ext_lib
922                     Modules Tcl extension library location.
923
924                     Default  value is @libdir@/libtclenvmodules.so. It can be
925                     changed at installation time with  --prefix  or  --libdir
926                     options.  The value of this option cannot be altered.
927
928              tcl_linter
929                     Command  to check syntax of modulefiles with through lint
930                     sub-command.
931
932                     Default value is nagelfar.tcl. It can be changed  at  in‐
933                     stallation     time     with     --with-tcl-linter    and
934                     --with-tcl-linter-opts  options.  The  MODULES_TCL_LINTER
935                     environment  variable  is  defined  by config sub-command
936                     when changing this configuration option from its  default
937                     value. See MODULES_TCL_LINTER description for details.
938
939              term_background
940                     Terminal background color kind.
941
942                     Default  value is dark. It can be changed at installation
943                     time   with   --with-terminal-background   option.    The
944                     MODULES_TERM_BACKGROUND  environment  variable is defined
945                     by config sub-command when  changing  this  configuration
946                     option      from      its      default     value.     See
947                     MODULES_TERM_BACKGROUND description for details.
948
949              term_width
950                     Set the width of the output.
951
952                     Default value is 0.  The  MODULES_TERM_WIDTH  environment
953                     variable  is  defined by config sub-command when changing
954                     this configuration option from  its  default  value.  The
955                     --width/-w command line switches change the value of this
956                     configuration option. See MODULES_TERM_WIDTH  description
957                     for details.
958
959              unload_match_order
960                     Unload  firstly  loaded  or lastly loaded module matching
961                     request.
962
963                     Default value is returnlast. It can be changed at instal‐
964                     lation  time  with  --with-unload-match-order option. The
965                     MODULES_UNLOAD_MATCH_ORDER environment  variable  is  de‐
966                     fined by config sub-command when changing this configura‐
967                     tion    option    from    its    default    value.    See
968                     MODULES_UNLOAD_MATCH_ORDER description for details.
969
970              variant_shortcut
971                     Shortcut  characters that could be used to specify or re‐
972                     port module variants.
973
974                     This configuration option is set to an empty value by de‐
975                     fault.  It  can  be  changed  at  installation  time with
976                     --with-variant-shortcut           option.             The
977                     MODULES_VARIANT_SHORTCUT  environment variable is defined
978                     by config sub-command when  changing  this  configuration
979                     option      from      its      default     value.     See
980                     MODULES_VARIANT_SHORTCUT description for details.
981
982              verbosity
983                     Module command verbosity level.
984
985                     Default value is normal. It can be changed  at  installa‐
986                     tion    time    with    --with-verbosity    option.   The
987                     MODULES_VERBOSITY  environment  variable  is  defined  by
988                     config  sub-command  when changing this configuration op‐
989                     tion from its default value. The --debug/-D, --silent/-s,
990                     --trace/-T  and --verbose/-v command line switches change
991                     the   value   of   this   configuration    option.    See
992                     MODULES_VERBOSITY description for details.
993
994              wa_277 Workaround for Tcsh history issue.
995
996                     Default  value  is  0.  It can be changed at installation
997                     time with --enable-wa-277 option. The MODULES_WA_277  en‐
998                     vironment  variable is defined by config sub-command when
999                     changing  this  configuration  option  from  its  default
1000                     value. See MODULES_WA_277 description for details.
1001
1002       display modulefile...
1003              Display  information  about one or more modulefiles. The display
1004              sub-command will list the full path of the  modulefile  and  the
1005              environment  changes  the modulefile will make if loaded. (Note:
1006              It will not display any environment changes found within  condi‐
1007              tional statements.)
1008
1009              The  parameter modulefile may also be a symbolic modulefile name
1010              or a modulefile alias. It may also leverage a specific syntax to
1011              finely select module version (see Advanced module version speci‐
1012              fiers section below).
1013
1014       edit modulefile
1015              Open modulefile for edition with text editor command  designated
1016              by the editor configuration option.
1017
1018              The  parameter modulefile may also be a symbolic modulefile name
1019              or a modulefile alias. It may also leverage a specific syntax to
1020              finely select module version (see Advanced module version speci‐
1021              fiers section below).
1022
1023       help [modulefile...]
1024              Print the usage of each sub-command. If an  argument  is  given,
1025              print the Module-specific help information for the modulefile.
1026
1027              The  parameter modulefile may also be a symbolic modulefile name
1028              or a modulefile alias. It may also leverage a specific syntax to
1029              finely select module version (see Advanced module version speci‐
1030              fiers section below).
1031
1032       info-loaded modulefile
1033              Returns the names of currently loaded  modules  matching  passed
1034              modulefile.   Returns  an empty string if passed modulefile does
1035              not match any loaded modules.  See  module-info  loaded  in  the
1036              modulefile man page for further explanation.
1037
1038       initadd modulefile...
1039              Add  modulefile to the shell's initialization file in the user's
1040              home directory. The startup files checked (in order) are:
1041
1042              C Shell
1043                 .modules, .cshrc, .csh_variables and .login
1044
1045              TENEX C Shell
1046                 .modules, .tcshrc, .cshrc, .csh_variables and .login
1047
1048              Bourne and Korn Shells
1049                 .modules, .profile
1050
1051              GNU Bourne Again Shell
1052                 .modules, .bash_profile, .bash_login, .profile and .bashrc
1053
1054              Z Shell
1055                 .modules, .zshrc, .zshenv and .zlogin
1056
1057              Friendly Interactive Shell
1058                 .modules, .config/fish/config.fish
1059
1060              If a module load line is found in any of these files,  the  mod‐
1061              ulefiles  are  appended to any existing list of modulefiles. The
1062              module load line must be located in at least one  of  the  files
1063              listed  above for any of the init sub-commands to work properly.
1064              If the module load line is found in multiple  shell  initializa‐
1065              tion files, all of the lines are changed.
1066
1067       initclear
1068              Clear  all  of  the  modulefiles from the shell's initialization
1069              files.
1070
1071       initlist
1072              List all of the modulefiles loaded from the shell's  initializa‐
1073              tion file.
1074
1075       initprepend modulefile...
1076              Does  the  same as initadd but prepends the given modules to the
1077              beginning of the list.
1078
1079       initrm modulefile...
1080              Remove modulefile from the shell's initialization files.
1081
1082       initswitch modulefile1 modulefile2
1083              Switch modulefile1 with modulefile2 in the  shell's  initializa‐
1084              tion files.
1085
1086       is-avail modulefile...
1087              Returns  a true value if any of the listed modulefiles exists in
1088              enabled  MODULEPATH.  Returns  a  false  value  otherwise.   See
1089              is-avail in the modulefile man page for further explanation.
1090
1091              The  parameter modulefile may also be a symbolic modulefile name
1092              or a modulefile alias. It may also leverage a specific syntax to
1093              finely select module version (see Advanced module version speci‐
1094              fiers section below).
1095
1096       is-loaded [modulefile...]
1097              Returns a true value if any of the listed modulefiles  has  been
1098              loaded  or  if  any  modulefile is loaded in case no argument is
1099              provided. Returns a false value otherwise. See is-loaded in  the
1100              modulefile man page for further explanation.
1101
1102              The  parameter modulefile may also be a symbolic modulefile name
1103              or a modulefile alias. It may also leverage a specific syntax to
1104              finely select module version (see Advanced module version speci‐
1105              fiers section below).
1106
1107       is-saved [collection...]
1108              Returns a true value if any of the listed collections exists  or
1109              if  any  collection  exists in case no argument is provided. Re‐
1110              turns a false value otherwise. See is-saved  in  the  modulefile
1111              man page for further explanation.
1112
1113       is-used [directory...]
1114              Returns  a  true value if any of the listed directories has been
1115              enabled in MODULEPATH or if any directory is enabled in case  no
1116              argument  is  provided.  Returns  a  false  value otherwise. See
1117              is-used in the modulefile man page for further explanation.
1118
1119       keyword [-a] [-j] string
1120              See search.
1121
1122       lint [-a] [modulefile...]
1123              Analyze syntax of one or more modulefiles with the  linter  com‐
1124              mand designated by the tcl_linter configuration option.
1125
1126              The  parameter modulefile may also be a symbolic modulefile name
1127              or a modulefile alias. It may also leverage a specific syntax to
1128              finely select module version (see Advanced module version speci‐
1129              fiers section below).
1130
1131              If no modulefile is specified, all the modulefiles and  modulerc
1132              available  in enabled modulepaths are analyzed as well as global
1133              and user rc files. Hidden modulefiles  are  also  analyzed  when
1134              --all/-a option is set.
1135
1136              When  nagelfar.tcl  is the selected linter command, a static Tcl
1137              syntax analysis is performed. In addition, syntax of  modulefile
1138              commands  are  checked  in  these  files  based  on  their  kind
1139              (global/user rc, modulerc or modulefile).
1140
1141       list [-t|-l|-j] [-a] [-o LIST] [-S|-C] [pattern...]
1142              List loaded modules. If a pattern is given, then the loaded mod‐
1143              ules  are  filtered  to  only list those whose name matches this
1144              pattern. It may contain wildcard characters. pattern is  matched
1145              in  a  case  insensitive manner by default. If multiple patterns
1146              are given, loaded module has to match at least one of them to be
1147              listed.
1148
1149              Module  tags  applying  to the loaded modules are reported along
1150              the module name they are associated to  (see  Module  tags  sec‐
1151              tion).
1152
1153              Module  variants  selected  on  the  loaded modules are reported
1154              along the module name they belong to (see Module  variants  sec‐
1155              tion).
1156
1157              A Key section is added at the end of the output in case some el‐
1158              ements are reported in parentheses or chevrons along module name
1159              or  if  some  graphical  rendition is made over some output ele‐
1160              ments. This Key section gives hints on the meaning of such  ele‐
1161              ments.
1162
1163              The  parameter  pattern  may also refer to a symbolic modulefile
1164              name or a modulefile alias. It may also leverage a specific syn‐
1165              tax to finely select module version (see Advanced module version
1166              specifiers section below).
1167
1168              If pattern contains variant specification,  loaded  modules  are
1169              included in results only if they match it. pattern may be a bare
1170              variant specification without mention of a module name.
1171
1172       load [options] modulefile...
1173              Load modulefile into the shell environment.
1174
1175              load command accepts the following options:
1176
1177--auto|--no-auto
1178
1179-f|--force
1180
1181--tag=taglist
1182
1183              Once loaded, the loaded module tag is associated to  the  loaded
1184              module.  If module has been automatically loaded by another mod‐
1185              ule, the auto-loaded tag is associated instead (see Module  tags
1186              section).
1187
1188              The  parameter modulefile may also be a symbolic modulefile name
1189              or a modulefile alias. It may also leverage a specific syntax to
1190              finely select module version (see Advanced module version speci‐
1191              fiers section below).
1192
1193              The --tag option accepts a list of module tags to apply to  mod‐
1194              ulefile  once  loaded.  If  module  is already loaded, tags from
1195              taglist are added to the list of tags already  applied  to  this
1196              module.
1197
1198       load-any [options] modulefile...
1199              Load into the shell environment one of the modulefile specified.
1200              Try to load each modulefile specified in list from the  left  to
1201              the  right  until  one got loaded or is found already loaded. Do
1202              not complain if modulefile cannot be found but if its evaluation
1203              fails an error is reported.
1204
1205              load-any command accepts the following options:
1206
1207--auto|--no-auto
1208
1209-f|--force
1210
1211--tag=taglist
1212
1213              Once  loaded,  the loaded module tag is associated to the loaded
1214              module. If module has been automatically loaded by another  mod‐
1215              ule,  the auto-loaded tag is associated instead (see Module tags
1216              section).
1217
1218              The parameter modulefile may also be a symbolic modulefile  name
1219              or a modulefile alias. It may also leverage a specific syntax to
1220              finely select module version (see Advanced module version speci‐
1221              fiers section below).
1222
1223              The  --tag option accepts a list of module tags to apply to mod‐
1224              ulefile once loaded. If module  is  already  loaded,  tags  from
1225              taglist  are  added  to the list of tags already applied to this
1226              module.
1227
1228       mod-to-sh [options] shell modulefile...
1229              Evaluate modulefile and report resulting environment changes  as
1230              code for shell.
1231
1232              mod-to-sh command accepts the following options:
1233
1234--auto|--no-auto
1235
1236-f|--force
1237
1238              An  attempt  to  load  modulefile is made to get its environment
1239              changes. This evaluation does not change the current shell envi‐
1240              ronment. Like for load sub-command, no evaluation occurs if mod‐
1241              ulefile is found loaded in current environment.
1242
1243              Changes made on environment variable intended for  Modules  pri‐
1244              vate  use  (e.g., LOADEDMODULES, _LMFILES_, __MODULES_*) are ig‐
1245              nored.
1246
1247              Shell could be any shell name supported by modulecmd.tcl.
1248
1249              Produced shell code is returned on the message output channel by
1250              modulecmd.tcl. Thus it is not rendered in current environment by
1251              the module shell function.
1252
1253              mod-to-sh automatically set verbosity to  the  silent  mode,  to
1254              avoid messages to mix with the produced shell code. Verbosity is
1255              not changed if set to the trace mode  or  any  higher  debugging
1256              level.
1257
1258              The  parameter modulefile may also be a symbolic modulefile name
1259              or a modulefile alias. It may also leverage a specific syntax to
1260              finely select module version (see Advanced module version speci‐
1261              fiers section below).
1262
1263       path modulefile
1264              Print path to modulefile.
1265
1266              The parameter modulefile may also be a symbolic modulefile  name
1267              or a modulefile alias. It may also leverage a specific syntax to
1268              finely select module version (see Advanced module version speci‐
1269              fiers section below).
1270
1271       paths pattern
1272              Print path of available modulefiles matching pattern.
1273
1274              The  parameter pattern may also be a symbolic modulefile name or
1275              a modulefile alias. It may also leverage a  specific  syntax  to
1276              finely select module version (see Advanced module version speci‐
1277              fiers section below).
1278
1279              If pattern contains variant specification  or  Extra  specifier,
1280              the  Extra  match search process is triggered to collect command
1281              information used in modulefiles. Modules are included in results
1282              only if they match pattern variant specification and extra spec‐
1283              ifier. pattern may be a  bare  variant  specification  or  extra
1284              specifier without mention of a module name.
1285
1286       prepend-path   [-d   C|--delim   C|--delim=C]  [--duplicates]  variable
1287       value...
1288              Prepend value to environment variable. The variable is a  colon,
1289              or delimiter, separated list. See prepend-path in the modulefile
1290              man page for further explanation.
1291
1292              When prepend-path is called as a module sub-command, the  refer‐
1293              ence  counter  variable, which denotes the number of times value
1294              has been added to environment variable, is not updated unless if
1295              the --duplicates option is set.
1296
1297       purge [-f]
1298              Unload all loaded modulefiles.
1299
1300              When  the  --force option is set, also unload sticky modules and
1301              modulefiles that are depended by non-unloadable modules.
1302
1303       refresh
1304              Force a refresh of all non-persistent  components  of  currently
1305              loaded  modules.   This  should  be used on derived shells where
1306              shell completions, shell aliases or shell functions need  to  be
1307              reinitialized  but  the  environment variables have already been
1308              set by the currently loaded modules.
1309
1310              Loaded modules are evaluated in  refresh  mode  following  their
1311              load   order.   In  this  evaluation  mode  only  the  complete,
1312              set-alias, set-function and puts modulefile commands  will  pro‐
1313              duce environment changes. Other modulefile commands that produce
1314              environment changes (like setenv  or  append-path)  are  ignored
1315              during  a  refresh evaluation as their changes should already be
1316              applied.
1317
1318              Only the  loaded  modules  defining  non-persistent  environment
1319              changes  are  evaluated in refresh mode. Such loaded modules are
1320              listed in the __MODULES_LMREFRESH environment variable.
1321
1322       reload Unload then load all loaded modulefiles.
1323
1324              No unload then load is performed and an error is returned if the
1325              loaded  modulefiles have unsatisfied constraint corresponding to
1326              the prereq and conflict they declare.
1327
1328       remove-path [-d C|--delim C|--delim=C] [--index] variable value...
1329              Remove value from the colon, or delimiter, separated list in en‐
1330              vironment  variable.  See remove-path in the modulefile man page
1331              for further explanation.
1332
1333              When remove-path is called as a module sub-command,  the  refer‐
1334              ence  counter  variable, which denotes the number of times value
1335              has been added to environment variable, is ignored and value  is
1336              removed whatever the reference counter value set.
1337
1338       reset  Restore  initial  environment,  which  corresponds to the loaded
1339              state after Modules initialization.
1340
1341              reset sub-command restores the environment definition  found  in
1342              __MODULES_LMINIT environment variable.
1343
1344              reset  behavior  can  be  changed with reset_target_state.  This
1345              configuration option is set by default to __init__, which corre‐
1346              sponds to the above behavior description. When set to __purge__,
1347              reset performs a purge of the environment. When set to any other
1348              value,  reset  performs  a restore of corresponding name collec‐
1349              tion.
1350
1351       restore [collection]
1352              Restore the environment state as defined in collection. If  col‐
1353              lection  name is not specified, then it is assumed to be the de‐
1354              fault collection if it exists, __init__ special collection  oth‐
1355              erwise.  If collection is a fully qualified path, it is restored
1356              from this location rather than from a file under the user's col‐
1357              lection directory. If MODULES_COLLECTION_TARGET is set, a suffix
1358              equivalent to the value of this variable is appended to the col‐
1359              lection file name to restore.
1360
1361              If  collection  name  is __init__, initial environment state de‐
1362              fined in __MODULES_LMINIT environment variable is restored.
1363
1364              When restoring a collection, the currently set MODULEPATH direc‐
1365              tory  list  and  the currently loaded modulefiles are unused and
1366              unloaded then used and loaded to exactly  match  the  MODULEPATH
1367              and  loaded modulefiles lists saved in this collection file. The
1368              order of the paths and modulefiles set  in  collection  is  pre‐
1369              served  when  restoring.  It means that currently loaded modules
1370              are unloaded to get the same LOADEDMODULES root than  collection
1371              and  currently  used  module  paths  are  unused to get the same
1372              MODULEPATH root. Then missing module paths are used and  missing
1373              modulefiles are loaded.
1374
1375              If  a  module,  without a default version explicitly defined, is
1376              recorded in a collection by its bare name: loading  this  module
1377              when restoring the collection will fail if the configuration op‐
1378              tion implicit_default is disabled.
1379
1380       rm [--auto|--no-auto] [-f] modulefile...
1381              See unload.
1382
1383       save [collection]
1384              Record the currently set MODULEPATH directory list and the  cur‐
1385              rently  loaded modulefiles in a collection file under the user's
1386              collection directory $HOME/.module. If collection  name  is  not
1387              specified,  then  it is assumed to be the default collection. If
1388              collection is a fully qualified path, it is saved at this  loca‐
1389              tion rather than under the user's collection directory.
1390
1391              If  MODULES_COLLECTION_TARGET is set, a suffix equivalent to the
1392              value of this variable will be appended to the  collection  file
1393              name.
1394
1395              By default, if a loaded modulefile corresponds to the explicitly
1396              defined  default  module  version,  the  bare  module  name   is
1397              recorded.  If  the  configuration option implicit_default is en‐
1398              abled, the bare module name is also recorded  for  the  implicit
1399              default module version. If MODULES_COLLECTION_PIN_VERSION is set
1400              to 1, module version is always recorded even if it  is  the  de‐
1401              fault version.
1402
1403              By default, only the module tags specifically set with the --tag
1404              option  or  resulting  from  a  specific  module   state   (like
1405              auto-loaded and keep-loaded tags) are recorded in collection. If
1406              MODULES_COLLECTION_PIN_TAG is set to 1, all tags are recorded in
1407              collection except nearly-forbidden tag.
1408
1409              No collection is recorded and an error is returned if the loaded
1410              modulefiles have unsatisfied  constraint  corresponding  to  the
1411              prereq and conflict they declare.
1412
1413       savelist [-t|-l|-j] [-a] [-S|-C] [pattern...]
1414              List  collections that are currently saved under the user's col‐
1415              lection directory. If  MODULES_COLLECTION_TARGET  is  set,  only
1416              collections  matching the target suffix will be displayed unless
1417              if the --all/-a option is set.
1418
1419              If a pattern is given, then the collections are filtered to only
1420              list those whose name matches this pattern. It may contain wild‐
1421              card characters.  pattern is matched in a case insensitive  man‐
1422              ner  by  default. If multiple patterns are given, collection has
1423              to match at least one of them to be listed.
1424
1425              Stash collections are not listed unless if the  --all/-a  option
1426              is  set. Stash collections can be listed with stashlist sub-com‐
1427              mand.
1428
1429       saverm [collection]
1430              Delete the collection file under the  user's  collection  direc‐
1431              tory. If collection name is not specified, then it is assumed to
1432              be the default collection. If MODULES_COLLECTION_TARGET is  set,
1433              a  suffix  equivalent  to the value of this variable will be ap‐
1434              pended to the collection file name.
1435
1436       saveshow [collection]
1437              Display the content of collection. If  collection  name  is  not
1438              specified, then it is assumed to be the default collection if it
1439              exists, __init__ special collection otherwise. If collection  is
1440              a fully qualified path, this location is displayed rather than a
1441              collection  file  under  the  user's  collection  directory.  If
1442              MODULES_COLLECTION_TARGET  is  set,  a  suffix equivalent to the
1443              value of this variable will be appended to the  collection  file
1444              name.
1445
1446              If  collection name is __init__, initial environment content de‐
1447              fined in __MODULES_LMINIT environment variable is displayed.
1448
1449       search [-a] [-j] string
1450              Seeks through the module-whatis information of  all  modulefiles
1451              for the specified string. All module-whatis information matching
1452              the string in a  case  insensitive  manner  will  be  displayed.
1453              string may contain wildcard characters.
1454
1455       sh-to-mod shell script [arg...]
1456              Evaluate with shell the designated script with defined arguments
1457              to find out the environment changes it does.  Environment  prior
1458              and  after  script  evaluation  are  compared to determine these
1459              changes. They are translated into modulefile commands to  output
1460              the  modulefile  content  equivalent  to the evaluation of shell
1461              script.
1462
1463              Changes on environment variables,  shell  aliases,  shell  func‐
1464              tions,  shell  completions  and  current  working  directory are
1465              tracked.
1466
1467              Changes made on environment variable intended for  Modules  pri‐
1468              vate  use  (e.g., LOADEDMODULES, _LMFILES_, __MODULES_*) are ig‐
1469              nored.
1470
1471              Shell could be specified as a command name or a fully  qualified
1472              pathname.   The  following  shells are supported: sh, dash, csh,
1473              tcsh, bash, ksh, ksh93, zsh and fish.
1474
1475       show modulefile...
1476              See display.
1477
1478       source [options] modulefile...
1479              Execute modulefile into the  shell  environment.  Once  executed
1480              modulefile  is not marked loaded in shell environment which dif‐
1481              fer from load sub-command.
1482
1483              source command accepts the following options:
1484
1485--auto|--no-auto
1486
1487-f|--force
1488
1489              If modulefile corresponds to a fully qualified path,  this  file
1490              is  executed.  Otherwise modulefile is searched among the avail‐
1491              able modulefiles.
1492
1493              The parameter modulefile may also be a symbolic modulefile  name
1494              or a modulefile alias. It may also leverage a specific syntax to
1495              finely select module version (see Advanced module version speci‐
1496              fiers section below).
1497
1498       stash  Save  current  environment  in  a stash collection then reset to
1499              initial environment.
1500
1501              A collection is created only if current environment  state  dif‐
1502              fers   from  initial  environment.  Stash  collection  is  named
1503              stash-<unix_millis_timestamp> where  <unix_millis_timestamp>  is
1504              the number of milliseconds between Unix Epoch and when this com‐
1505              mand is run.
1506
1507              If MODULES_COLLECTION_TARGET is set, a suffix equivalent to  the
1508              value  of this variable will be appended to the stash collection
1509              file name.
1510
1511       stashclear
1512              Remove all stash collection files of current  collection_target.
1513              If  no  collection target is currently set, remove stash collec‐
1514              tion files without a target suffix.
1515
1516       stashlist [-t|-l|-j]
1517              List all stash collection files of current collection_target. If
1518              no  collection  target  is  currently set, list stash collection
1519              files without a target suffix.
1520
1521       stashpop [stash]
1522              Restore stash collection then  delete  corresponding  collection
1523              file.
1524
1525              stash   is   either   a   full   stash  collection  name  (i.e.,
1526              stash-<unix_millis_timestamp>) or a  stash  index.  Most  recent
1527              stash  collection  has  index 0, 1 is the one before it. When no
1528              stash is given the latest stash collection is assumed  (that  is
1529              stash index 0).
1530
1531              If  MODULES_COLLECTION_TARGET is set, a suffix equivalent to the
1532              value of this variable will be appended to the stash  collection
1533              file name to restore.
1534
1535       stashrm [stash]
1536              Remove stash collection file.
1537
1538              stash   is   either   a   full   stash  collection  name  (i.e.,
1539              stash-<unix_millis_timestamp>) or a  stash  index.  Most  recent
1540              stash  collection  has  index 0, 1 is the one before it. When no
1541              stash is given the latest stash collection is assumed  (that  is
1542              stash index 0).
1543
1544              If  MODULES_COLLECTION_TARGET is set, a suffix equivalent to the
1545              value of this variable will be appended to the stash  collection
1546              file name to delete.
1547
1548       stashshow [stash]
1549              Display the content of stash collection file.
1550
1551              stash   is   either   a   full   stash  collection  name  (i.e.,
1552              stash-<unix_millis_timestamp>) or a  stash  index.  Most  recent
1553              stash  collection  has  index 0, 1 is the one before it. When no
1554              stash is given the latest stash collection is assumed  (that  is
1555              stash index 0).
1556
1557              If  MODULES_COLLECTION_TARGET is set, a suffix equivalent to the
1558              value of this variable will be appended to the stash  collection
1559              file name to display.
1560
1561       state [name]
1562              Gets  modulecmd.tcl  states.  Reports the currently set value of
1563              passed state name or all existing states if no name passed.
1564
1565       swap [options] [modulefile1] modulefile2
1566              See switch.
1567
1568       switch [options] [modulefile1] modulefile2
1569              Switch loaded modulefile1 with modulefile2.  If  modulefile1  is
1570              not  specified,  then  it  is assumed to be the currently loaded
1571              module with the same root name as modulefile2.
1572
1573              switch command accepts the following options:
1574
1575--auto|--no-auto
1576
1577-f|--force
1578
1579--tag=taglist
1580
1581              The parameter modulefile may also be a symbolic modulefile  name
1582              or a modulefile alias. It may also leverage a specific syntax to
1583              finely select module version (see Advanced module version speci‐
1584              fiers section below).
1585
1586              The  --tag option accepts a list of module tags to apply to mod‐
1587              ulefile once loaded. If module  is  already  loaded,  tags  from
1588              taglist  are  added  to the list of tags already applied to this
1589              module.
1590
1591       test modulefile...
1592              Execute and display results of the Module-specific tests for the
1593              modulefile.
1594
1595              The  parameter modulefile may also be a symbolic modulefile name
1596              or a modulefile alias. It may also leverage a specific syntax to
1597              finely select module version (see Advanced module version speci‐
1598              fiers section below).
1599
1600       try-add [options] modulefile...
1601              See try-load.
1602
1603       try-load [options] modulefile...
1604              Like load sub-command, load modulefile into the  shell  environ‐
1605              ment, but do not complain if modulefile cannot be found. If mod‐
1606              ulefile is found but its evaluation fails, error  is  still  re‐
1607              ported.
1608
1609              try-load command accepts the following options:
1610
1611--auto|--no-auto
1612
1613-f|--force
1614
1615--tag=taglist
1616
1617              Once  loaded,  the loaded module tag is associated to the loaded
1618              module. If module has been automatically loaded by another  mod‐
1619              ule,  the auto-loaded tag is associated instead (see Module tags
1620              section).
1621
1622              The parameter modulefile may also be a symbolic modulefile  name
1623              or a modulefile alias. It may also leverage a specific syntax to
1624              finely select module version (see Advanced module version speci‐
1625              fiers section below).
1626
1627              The  --tag option accepts a list of module tags to apply to mod‐
1628              ulefile once loaded. If module  is  already  loaded,  tags  from
1629              taglist  are  added  to the list of tags already applied to this
1630              module.
1631
1632       unload [--auto|--no-auto] [-f] modulefile...
1633              Remove modulefile from the shell environment.
1634
1635              The parameter modulefile may also be a symbolic modulefile  name
1636              or a modulefile alias. It may also leverage a specific syntax to
1637              finely select module version (see Advanced module version speci‐
1638              fiers section below).
1639
1640       unuse directory...
1641              Remove  one  or more directories from the MODULEPATH environment
1642              variable.
1643
1644              If module unuse is called during a  modulefile  evaluation,  the
1645              reference          counter          environment         variable
1646              __MODULES_SHARE_MODULEPATH, which denotes the  number  of  times
1647              directory  has been enabled, is checked and directory is removed
1648              only if its relative counter is equal to 1 or not defined.  Oth‐
1649              erwise  directory  is kept and reference counter is decreased by
1650              1. When module unuse is called from the command-line  or  within
1651              an  initialization  modulefile script directory is removed what‐
1652              ever the reference counter value set.
1653
1654              If directory corresponds to the concatenation of multiple  paths
1655              separated by colon character, each path is treated separately.
1656
1657       use [-a|--append] directory...
1658              Prepend  one  or  more directories to the MODULEPATH environment
1659              variable.  The  --append  flag  will  append  the  directory  to
1660              MODULEPATH.
1661
1662              When directory is already defined in MODULEPATH, it is not added
1663              again or moved at the end or at the beginning of the environment
1664              variable.
1665
1666              If module use is called during a modulefile evaluation, the ref‐
1667              erence counter environment  variable  __MODULES_SHARE_MODULEPATH
1668              is  also  set to increase the number of times directory has been
1669              added to MODULEPATH.  Reference  counter  is  not  updated  when
1670              module use is called from the command-line or within an initial‐
1671              ization modulefile script.
1672
1673              A directory that does not exist yet can be specified as argument
1674              and then be added to MODULEPATH.
1675
1676       whatis [-a] [-j] [pattern...]
1677              Display the information set up by the module-whatis commands in‐
1678              side modulefiles matching pattern. pattern may contain  wildcard
1679              characters.  If no pattern is specified, all module-whatis lines
1680              will be shown.
1681
1682              The parameter pattern may also be a symbolic modulefile name  or
1683              a  modulefile  alias.  It may also leverage a specific syntax to
1684              finely select module version (see Advanced module version speci‐
1685              fiers section below).
1686
1687              If  pattern  contains  variant specification or Extra specifier,
1688              the Extra match search process is triggered to  collect  command
1689              information used in modulefiles. Modules are included in results
1690              only if they match pattern variant specification and extra spec‐
1691              ifier.  pattern  may  be  a  bare variant specification or extra
1692              specifier without mention of a module name.
1693
1694   Modulefiles
1695       modulefiles are written in the Tool Command Language (Tcl) and are  in‐
1696       terpreted by modulecmd.tcl. modulefiles can use conditional statements.
1697       Thus the effect a modulefile will have on the  environment  may  change
1698       depending upon the current state of the environment.
1699
1700       Environment  variables  are unset when unloading a modulefile. Thus, it
1701       is possible to load a modulefile and then unload it without having  the
1702       environment variables return to their prior state.
1703
1704   Advanced module version specifiers
1705       When  the  advanced module version specifiers mechanism is enabled (see
1706       MODULES_ADVANCED_VERSION_SPEC), the specification of modulefile  passed
1707       on  Modules  sub-commands changes. After the module name a version con‐
1708       straint and variants may be added.
1709
1710   Version specifiers
1711       After the module name a version constraint prefixed by the @  character
1712       may be added. It could be directly appended to the module name or sepa‐
1713       rated from it with a space character.
1714
1715       Constraints can be expressed to refine the selection of module  version
1716       to:
1717
1718       • a  single  version  with  the @version syntax, for instance foo@1.2.3
1719         syntax will select module foo/1.2.3
1720
1721       • a list of versions with the @version1,version2,...  syntax,  for  in‐
1722         stance foo@1.2.3,1.10 will match modules foo/1.2.3 and foo/1.10
1723
1724       • a  range  of  versions  with  the  @version1:,  @:version2  and @ver‐
1725         sion1:version2 syntaxes, for instance foo@1.2: will select  all  ver‐
1726         sions  of  module foo greater than or equal to 1.2, foo@:1.3 will se‐
1727         lect all versions less than or equal to 1.3 and  foo@1.2:1.3  matches
1728         all versions between 1.2 and 1.3 including 1.2 and 1.3 versions
1729
1730       Advanced  specification of single version or list of versions may bene‐
1731       fit  from  the  activation  of  the  extended  default  mechanism  (see
1732       MODULES_EXTENDED_DEFAULT) to use an abbreviated notation like @1 to re‐
1733       fer to more precise version numbers like 1.2.3. Range  of  versions  on
1734       its side natively handles abbreviated versions.
1735
1736       In  order to be specified in a range of versions or compared to a range
1737       of versions, the version major element should corresponds to a  number.
1738       For  instance 10a, 1.2.3, 1.foo are versions valid for range comparison
1739       whereas default or foo.2 versions are invalid for range comparison.
1740
1741       Range of versions can  be  specified  in  version  list,  for  instance
1742       foo@:1.2,1.4:1.6,1.8:.  Such  specification  helps  to exclude specific
1743       versions, like versions 1.3 and 1.7 in previous example.
1744
1745       If   the   implicit   default   mechanism   is   also   enabled    (see
1746       MODULES_IMPLICIT_DEFAULT),  a  default and latest symbolic versions are
1747       automatically defined for each module  name  (also  at  each  directory
1748       level  for  deep  modulefiles). These automatic version symbols are de‐
1749       fined unless a symbolic version, alias, or regular module  version  al‐
1750       ready  exists  for  these  default  or  latest version names. Using the
1751       mod@latest (or mod/latest) syntax  ensures  highest  available  version
1752       will be selected.
1753
1754       The symbolic version loaded may be used over loaded module name to des‐
1755       ignate the loaded version of the module with associated selected  vari‐
1756       ants.  This version symbol should be specified using the @ prefix nota‐
1757       tion (e.g., foo@loaded). An error is returned if no version  of  desig‐
1758       nated module is currently loaded.
1759
1760   Variants
1761       After  the  module name, variants can be specified. Module variants are
1762       alternative evaluation of the same modulefile. A variant  is  specified
1763       by  associating  a value to its name. This specification is then trans‐
1764       mitted to the evaluating modulefile which instantiates the  variant  in
1765       the  ModuleVariant  array variable when reaching the variant modulefile
1766       command declaring this variant.
1767
1768       Variant can be specified with the name=value syntax where name  is  the
1769       declared  variant name and value, the value this variant is set to when
1770       evaluating the modulefile.
1771
1772       Boolean variants can be specified with the +name  syntax  to  set  this
1773       variant  on  and  with  the -name or ~name syntaxes to set this variant
1774       off. The -name syntax is not supported on ml command as the minus  sign
1775       already means to unload designated module. The ~name and +name syntaxes
1776       could also be defined appended to another specification word (e.g., the
1777       module  name,  version or another variant specification), whereas -name
1778       syntax must be the start of a new specification word.
1779
1780       Boolean variants may also be  specified  with  the  name=value  syntax.
1781       value  should  be set to 1, true, t, yes, y or on to enable the variant
1782       or it should be set to 0, false, f, no, n or off to disable  the  vari‐
1783       ant.
1784
1785       Shortcuts   may  be  used  to  abbreviate  variant  specification.  The
1786       variant_shortcut configuration option associates shortcut character  to
1787       variant  name. With a shortcut defined, variant could be specified with
1788       the <shortcut>value syntax. For instance if character %  is  set  as  a
1789       shortcut  for  variant  foo,  the  %value  syntax  is equivalent to the
1790       foo=value syntax.
1791
1792       Specific characters used in variant specification syntax cannot be used
1793       as  part of the name of a module. These specific characters are +, ~, =
1794       and all characters set as variant shortcut. Exception  is  made  for  +
1795       character  which  could  be set one or several consecutive times at the
1796       end of module name (e.g., name+ or name++).
1797
1798   Extra specifier
1799       After the module name, extra specifiers can be defined in module search
1800       context.  Extra specifiers are an extra query to list available module‐
1801       files based on their content definition. They rely on the  Extra  match
1802       search mechanism that collects content of available modulefiles.
1803
1804       Extra  specifier  can be set with the element:name syntax where element
1805       is a Tcl modulefile command and name an item defined by  this  command.
1806       Depending  on  the kind of Tcl modulefile command, name can refer to an
1807       environment variable, a shell alias, a module specification, etc.
1808
1809       Supported extra specifier elements are:
1810
1811variant, complete, uncomplete, set-alias, unset-alias,  set-function,
1812         unset-function, chdir, family
1813
1814setenv, unsetenv, append-path, prepend-path, remove-path and pushenv:
1815         these elements related to environment variable handling may  also  be
1816         aliased envvar
1817
1818prereq,   prereq-any,   prereq-all,  depends-on,  always-load,  load,
1819         load-any, try-load, switch and switch-on: these elements  related  to
1820         module  requirement definition accept a module specification as value
1821         name and may be aliased require
1822
1823conflict, unload, switch and switch-off: these  elements  related  to
1824         module  incompatibility  definition  accept a module specification as
1825         value name and may be aliased incompat
1826
1827       Each of the above supported elements corresponds to  a  Tcl  modulefile
1828       command.  load, load-any, try-load, switch and unload match correspond‐
1829       ing module sub-commands. prereq-any is an  alias  on  prereq  and  vice
1830       versa  as both Tcl modulefile commands are the same. Following the same
1831       trend prereq-all is an alias on depends-on and vice  versa.   Regarding
1832       switch-off  and  switch-on elements they correspond respectively to the
1833       module to unload (if specified) and the module  to  load  on  a  module
1834       switch  command.  switch  is  an alias that matches both switch-off and
1835       switch-on elements. require and incompat elements do not  match  module
1836       commands where --not-req option is set.
1837
1838       When  several  extra  specifiers are set on a module search query, they
1839       act as an AND operation. Which means modules listed in result are those
1840       matching all extra specifiers defined.
1841
1842       Module  specification  used as name value for some extra specifier ele‐
1843       ments may leverage Advanced module version specifiers  syntax.  However
1844       if  a module version range or list is implied, it is currently resolved
1845       to existing modules. Thus it may not match modulefile definitions  tar‐
1846       geting  modules that do not exist. In addition, module aliases and sym‐
1847       bolic versions are not resolved to their target either if set in  extra
1848       specifier query or in modulefile definition.
1849
1850       Extra  specifier  can  only  be  set in a module search context (avail,
1851       whatis and paths sub-commands). An error is raised if used on a  module
1852       specification  query  in another context. An error is also raised if an
1853       unknown extra specifier element is defined in search query.
1854
1855   Module tags
1856       Module tags are piece of information that can be associated to individ‐
1857       ual modulefiles. Tags could be purely informational or may lead to spe‐
1858       cific behaviors.
1859
1860       Module tags may be inherited from the module state set by a  modulefile
1861       command or consequence of a module action. The inherited tags are:
1862
1863auto-loaded: module has been automatically loaded by another module
1864
1865forbidden:  module  has  been  set  forbidden  through the use of the
1866         module-forbid command and thus this module cannot be loaded.
1867
1868hidden: module has been set hidden through the use of the module-hide
1869         command and thus it is not reported by default among the result of an
1870         avail sub-command.
1871
1872hidden-loaded: module has been set hidden once loaded through the use
1873         of the module-hide --hidden-loaded command thus it is not reported bu
1874         default among the result of a list sub-command.
1875
1876loaded: module is currently loaded
1877
1878nearly-forbidden: module will soon be forbidden, which has  been  set
1879         through  the  use of the module-forbid command. Thus this module will
1880         soon not be able to load anymore.
1881
1882       Tags may also be associated to modules by using the module-tag  module‐
1883       file  command.  Among tags that could be set this way, some have a spe‐
1884       cial meaning:
1885
1886keep-loaded: auto-loaded module  cannot  be  automatically  unloaded.
1887         This tag is also set through the use of the always-load command.
1888
1889sticky:  module  once  loaded  cannot  be  unloaded  unless forced or
1890         reloaded (see Sticky modules section)
1891
1892super-sticky: module once loaded cannot be unloaded unless  reloaded,
1893         module cannot be unloaded even if forced (see Sticky modules section)
1894
1895       The  --tag  option  helps  to  apply  additional tags to modules. It is
1896       available on load, load-any, switch and try-load  sub-commands  and  on
1897       always-load, depends-on, module, prereq, prereq-all and prereq-any mod‐
1898       ulefile commands. In case the designated module is already loaded,  the
1899       additional  tags  are added to the list of tags already applied to this
1900       module.
1901
1902       Module tags are reported along the module they  are  associated  to  on
1903       avail  and list sub-command results and also when module's loading, un‐
1904       loading, refreshing or tagging evaluation is mentioned. Tags  could  be
1905       reported either:
1906
1907       • along  the  module name, all tags set within angle brackets, each tag
1908         separated from the others  with  a  colon  character  (e.g.,  foo/1.2
1909         <tag1:tag2>).
1910
1911       • graphically  rendered over the module name for each tag associated to
1912         a Select Graphic Rendition (SGR)  code  in  the  color  palette  (see
1913         MODULES_COLORS)
1914
1915       When   an   abbreviated  string  is  associated  to  a  tag  name  (see
1916       MODULES_TAG_ABBREV), this abbreviation is used to report tag along  the
1917       module  name or the tag is graphically rendered over the module name if
1918       a SGR code is associated with tag abbreviation in  the  color  palette.
1919       With  an abbreviation set, the SGR code associated to the tag full name
1920       is ignored thus an SGR code should be associated to the abbreviation to
1921       get  a  graphical rendering of tag. If the abbreviation associated to a
1922       tag corresponds to the empty string, tag is not reported.
1923
1924       Graphical rendering is made over the tag name or  abbreviation  instead
1925       of  over  the  module name for each tag name or abbreviation set in the
1926       MODULES_TAG_COLOR_NAME environment variable.
1927
1928       When several tags have to be rendered graphically over the same  module
1929       name,  each tag is rendered over a sub-part of the module name. In case
1930       more tags need to be rendered than the total number  of  characters  in
1931       the  module  name, the remaining tags are graphically rendered over the
1932       tag name instead of over the module name.
1933
1934       When the JSON output mode is enabled (with --json), tags  are  reported
1935       by their name under the tags attribute. Tag abbreviation and color ren‐
1936       dering do not apply on JSON output.
1937
1938       Module tags cannot be used in search query to designate a modulefile.
1939
1940   Sticky modules
1941       Modules are said sticky when they cannot be unloaded (they stick to the
1942       loaded environment). Two kind of stickiness can be distinguished:
1943
1944sticky  module:  cannot be unloaded unless if the unload is forced or
1945         if the module is reloaded after being unloaded or if restoring a col‐
1946         lection.
1947
1948super-sticky  module:  cannot  be  unloaded  unless  if the module is
1949         reloaded after being unloaded; super-sticky  modules  cannot  be  un‐
1950         loaded even if the unload is forced.
1951
1952       Modules are designated sticky by associating them the sticky or the su‐
1953       per-sticky module tag with the module-tag modulefile command.
1954
1955       When stickiness is defined over the generic module name (and not over a
1956       specific  module version, a version list or a version range), sticky or
1957       super-sticky module can be swapped by another version  of  module.  For
1958       instance  if  the  sticky tag is defined over foo module, loaded module
1959       foo/1.2 can be swapped by foo/2.0. Such stickiness definition means one
1960       version of module should stay loaded whatever version it is.
1961
1962       When  restoring  a  collection or resetting to the initial environment,
1963       sticky modules are unloaded to ensure  restore  or  reset  sub-commands
1964       fully  set  the  environment in target collection or initial state. Su‐
1965       per-sticky modules still cannot be  unloaded  with  restore  and  reset
1966       sub-commands.
1967
1968   Module variants
1969       Module  variants  are  alternative evaluation of the same modulefile. A
1970       variant is specified by associating a value to its name when  designat‐
1971       ing  module.   Variant specification relies on the Advanced module ver‐
1972       sion specifiers mechanism.
1973
1974       Once specified, variant's value is transmitted to the  evaluating  mod‐
1975       ulefile which instantiates the variant in the ModuleVariant array vari‐
1976       able when reaching the variant modulefile command declaring this  vari‐
1977       ant.   For instance the module load foo/1.2 bar=value1 command leads to
1978       the evaluation of foo/1.2 modulefile with bar=value1 variant specifica‐
1979       tion.   When  reaching  the variant bar value1 value2 value3 command in
1980       modulefile during its evaluation, the ModuleVariant(bar) array  element
1981       is set to the value1 string.
1982
1983       Once variants are instantiated, modulefile's code could check the vari‐
1984       ant values to adapt the evaluation and define  for  instance  different
1985       module requirements or produce different environment variable setup.
1986
1987       Variants  are  interpreted in contexts where modulefiles are evaluated.
1988       Variants specified on module designation are ignored by the is-avail or
1989       path  sub-commands.  On  search sub-commands (avail, whatis and paths),
1990       variants are interpreted and trigger the Extra match search process  to
1991       filter results.
1992
1993       When modulefile is evaluated a value should be specified for each vari‐
1994       ant this modulefile declares. When reaching the variant modulefile com‐
1995       mand  declaring  a variant, an error is raised if no value is specified
1996       for this variant and if no default value is declared. Specified variant
1997       value  should  match  a  value from the declared accepted value list if
1998       such list is defined otherwise an error is raised.  Additionally  if  a
1999       variant  is  specified but does not correspond to a variant declared in
2000       modulefile, an error is raised.
2001
2002       When searching for modules with variants specified in search query, the
2003       Extra  match search process triggers a specific scan modulefile evalua‐
2004       tion. Variants defined in modulefile are collected during this  evalua‐
2005       tion  then compared to the variants specified in search query. If there
2006       is a match, module is included in search results otherwise it is  with‐
2007       drawn.
2008
2009       When  searching for available modules, if one variant is specified mul‐
2010       tiple times, matching modules are those providing all specified variant
2011       values. For instance bar=value1 bar=value2 will return modules defining
2012       a bar variant with value1 and value2 as available values. On  a  module
2013       selection  context,  only  the  last specified value is retained. Which
2014       means on previous example that bar variant is set to value2.
2015
2016       Module variants are reported along the module they are associated to on
2017       list  sub-command  results. They are also reported on avail sub-command
2018       if specified in search query or added  to  the  element  to  report  in
2019       sub-command output (see --output/-o option).
2020
2021       Variants  are  reported  within  curly braces next to module name, each
2022       variant definition separated from the others  with  a  colon  character
2023       (e.g.,  foo/1.2{variant1=value:+variant2}).  Boolean  variants  are re‐
2024       ported with the +name or -name syntaxes on list sub-command or with the
2025       name=on,off  syntax  on avail sub-command. When a shortcut character is
2026       defined for a variant (see  MODULES_VARIANT_SHORTCUT)  it  is  reported
2027       with the <shortcut>value syntax. For instance if % character is defined
2028       as a shortcut for variant1: foo/1.2{%value:+variant2}.
2029
2030       When the JSON output mode is enabled (with --json),  variants  are  re‐
2031       ported  under  the  variants JSON object as name/value pairs. Values of
2032       Boolean variant are set as JSON Boolean. Other values are set  as  JSON
2033       strings.   Variant  shortcut  and  color rendering do not apply on JSON
2034       output.
2035
2036   Extra match search
2037       Extra match search is a mechanism that evaluates available  modulefiles
2038       during  a module search to find those matching an extra query or to re‐
2039       port additional information. After selecting modulefiles that match the
2040       module name and version specified in search query, these remaining mod‐
2041       ulefiles are evaluated to collect their content.
2042
2043       Extra match search is available on the following module search sub-com‐
2044       mands: avail, whatis and paths.
2045
2046       Extra match search is triggered when:
2047
2048Module  variants  and  their  available values have to be reported in
2049         avail output (see --output/-o option): extra match  search  is  trig‐
2050         gered to collect variant information
2051
2052       • Module  variant  is  specified in search query: extra match search is
2053         triggered to collect variant  information  then  match  them  against
2054         variant specified in query
2055
2056Extra  specifier  is specified in search query: extra match search is
2057         triggered to collect commands used in  modulefiles  then  match  them
2058         against extra specifier query
2059
2060       If search query does not contain an extra query and if variant informa‐
2061       tion should not be reported, no extra match  search  is  performed.  If
2062       search  query does not contain any module name and version but contains
2063       an extra query or if variant  information  should  be  reported,  extra
2064       match search is applied to all available modulefiles.
2065
2066       During  this  specific  evaluation, modulefiles are interpreted in scan
2067       mode.  This mode aims to collect the different Tcl modulefile  commands
2068       used.  Special  care should be given when writing modulefiles to ensure
2069       they cope with such evaluation mode.
2070
2071       Modulefiles tagged forbidden are excluded from extra match search eval‐
2072       uation. Thus they are excluded from result when this mechanism is trig‐
2073       gered.
2074
2075       As extra match search implies additional modulefile evaluations, it  is
2076       advised to build and use Module cache to improve search speed.
2077
2078   Collections
2079       Collections describe a sequence of module use then module load commands
2080       that are interpreted by modulecmd.tcl to set the  user  environment  as
2081       described by this sequence.
2082
2083       Collections  are  generated by the save sub-command that dumps the cur‐
2084       rent user environment state in terms of module paths  and  loaded  mod‐
2085       ules.  By  default collections are saved under the $HOME/.module direc‐
2086       tory.
2087
2088          $ module list
2089          Currently Loaded Modulefiles:
2090           1) foo/1.2   2) bar/2.0   3) qux/3.5
2091          $ module save foo
2092          $ cat $HOME/.module/foo
2093          module use --append /path/to/modulefiles
2094          module load foo
2095          module load bar/2.0
2096          module load qux/3.5
2097
2098       The content of a collection can also be  displayed  with  the  saveshow
2099       sub-command.  Note  that  in  the  above  example,  bare module name is
2100       recorded for foo modulefile as loaded version is the implicit  default.
2101       Loaded    version    recording    can    be    enforced   by   enabling
2102       collection_pin_version configuration option.
2103
2104          $ module config collection_pin_version 1
2105          $ module save foo
2106          $ module saveshow foo
2107          -------------------------------------------------------------------
2108          /home/user/.module/foo:
2109
2110          module use --append /path/to/modulefiles
2111          module load foo/1.2
2112          module load bar/2.0
2113          module load qux/3.5
2114
2115          -------------------------------------------------------------------
2116
2117       When a collection is activated, with the  restore  sub-command,  module
2118       paths and loaded modules are unused or unloaded if they are not part or
2119       if they are not ordered the same way as in the collection.
2120
2121          $ module list
2122          Currently Loaded Modulefiles:
2123           1) foo/1.2   2) bar/2.1   3) qux/3.5
2124          $ module restore foo
2125          Unloading qux/3.5
2126          Unloading bar/2.1
2127          Loading bar/2.0
2128          Loading qux/3.5
2129          $ module list
2130          Currently Loaded Modulefiles:
2131           1) foo/1.2   2) bar/2.0   3) qux/3.5
2132
2133       In the above example, second and third module loaded are changed. First
2134       loaded  module  is not changed or reloaded as it is the same module be‐
2135       tween current environment and collection. As second loaded  module  was
2136       different,  this  module and all those loaded afterward are unloaded to
2137       then load the sequence described by  collection.  As  a  result,  third
2138       loaded  module is reloaded, even if is was the same module between cur‐
2139       rent environment and collection.
2140
2141       Existing collections can be listed with savelist sub-command. They  can
2142       be deleted with saverm sub-command.
2143
2144          $ module savelist
2145          Named collection list:
2146           1) default   2) foo
2147          $ module saverm default
2148          $ module savelist
2149          Named collection list:
2150           1) foo
2151
2152       When  no  argument  is  provided  to  save, restore, saveshow or saverm
2153       sub-commands, the default collection is assumed.
2154
2155       Collection can also be specified as a full pathname:
2156
2157          $ module save /path/to/collections/bar
2158          $ module saveshow /path/to/collections/bar
2159          -------------------------------------------------------------------
2160          /path/to/collections/bar:
2161
2162          module use --append /path/to/modulefiles
2163          module load foo/1.2
2164          module load bar/2.0
2165          module load qux/3.5
2166
2167          -------------------------------------------------------------------
2168
2169   Initial environment
2170       Initial environment state, which corresponds to modulepaths enabled and
2171       modules  loaded  during  Modules  initialization,  is  referred  as the
2172       __init__ collection. This collection  is  virtual  as  its  content  is
2173       stored  in  the __MODULES_LMINIT and not in a file. It can be displayed
2174       with saveshow and restored with restore sub-command.
2175
2176          $ module saveshow __init__
2177          -------------------------------------------------------------------
2178          initial environment:
2179
2180          module use --append /path/to/modulefiles
2181          module load foo/1.2
2182
2183          -------------------------------------------------------------------
2184
2185       If the default collection does not exist, saveshow and restore sub-com‐
2186       mands assume __init__ collection when no argument provided to them.
2187
2188          $ module list
2189          Currently Loaded Modulefiles:
2190           1) foo/1.2   2) bar/2.1   3) qux/3.5
2191          $ module savelist
2192          Named collection list:
2193           1) foo
2194          $ module restore
2195          Unloading qux/3.5
2196          Unloading bar/2.1
2197
2198       Initial  environment state can also be restored with the reset sub-com‐
2199       mand. This sub-command behavior can be changed with  reset_target_state
2200       configuration  option  to choose to just purge loaded modules or to re‐
2201       store a specific collection.
2202
2203   Collection targets
2204       A collection target can be defined for current environment session with
2205       the collection_target configuration option. When set, available collec‐
2206       tions are reduced to those  suffixed  with  target  name.  Which  means
2207       restore,  saveshow,  savelist and saverm only find collections matching
2208       currently set target.
2209
2210          $ module savelist
2211          Named collection list:
2212           1) foo
2213          $ module config collection_target mytarget
2214          $ module savelist
2215          No named collection (for target "mytarget").
2216          $ module restore foo
2217          ERROR: Collection foo (for target "mytarget") cannot be found
2218
2219       When saving a new collection, generated file is suffixed with currently
2220       set target name.
2221
2222          $ module save bar
2223          $ module savelist
2224          Named collection list (for target "mytarget"):
2225           1) bar
2226          $ ls $HOME/.module
2227          bar.mytarget  foo
2228
2229       Collection  targets  help  to  distinguish contexts and make collection
2230       reachable only from the context they have been made for.  For  instance
2231       the  same  user account may be used to access different OSes or machine
2232       architectures. With a target set, users are ensured to only access col‐
2233       lections  built  for  the  context they are currently connected to. See
2234       also MODULES_COLLECTION_TARGET section.
2235
2236   Stash collections
2237       Current user environment can be stashed with  stash  sub-command.  When
2238       this  sub-command  is  called, current module environment is saved in a
2239       stash collection then initial environment is restored.
2240
2241          $ module list
2242          Currently Loaded Modulefiles:
2243           1) foo/1.2   2) qux/4.2
2244          $ module stash
2245          Unloading qux/4.2
2246
2247       Specific  sub-commands  are  available  to  handle  stash  collections:
2248       stashpop, stashlist, stashshow, stashrm and stashclear. A stash collec‐
2249       tion is restored with stashpop which also deletes the  collection  once
2250       restored.
2251
2252          $ module stashlist
2253          Stash collection list (for target "mytarget"):
2254           0) stash-1667669750191
2255          $ module stashpop
2256          Loading qux/4.2
2257          $ module stashlist
2258          No stash collection (for target "mytarget").
2259
2260       Stash  collections  have same format and are saved in the same location
2261       than other collections. Collection target also applies to stash collec‐
2262       tion.  Creation timestamp is saved in stash collection name.
2263
2264       Stash collection can be designated by their full collection name (i.e.,
2265       stash-<creation_timestamp>) or a stash index. Most recent stash collec‐
2266       tion  has index 0, 1 is the one before it. When no argument is provided
2267       on stash sub-commands, the latest stash collection is assumed (that  is
2268       stash index 0).
2269
2270          $ module stashlist
2271          Stash collection list (for target "mytarget"):
2272           0) stash-1667669750783   1) stash-1667669750253
2273          $ module stashshow 1
2274          -------------------------------------------------------------------
2275          /home/user/.module/stash-1667669750253.mytarget:
2276
2277          module use --append /path/to/modulefiles
2278          module load foo/1.2
2279          module load bar/2.0
2280
2281          -------------------------------------------------------------------
2282
2283   Site-specific configuration
2284       Siteconfig,  the site-specific configuration script, is a way to extend
2285       modulecmd.tcl. Siteconfig is a Tcl script. Its location  is  /etc/envi‐
2286       ronment-modules/siteconfig.tcl.
2287
2288       When  modulecmd.tcl  is  invoked it sources siteconfig script if it ex‐
2289       ists. Any global variable or procedure of modulecmd.tcl  can  be  rede‐
2290       fined in siteconfig.
2291
2292       An   additional   siteconfig   script  may  be  specified  through  the
2293       extra_siteconfig configuration option. The MODULES_SITECONFIG  environ‐
2294       ment   variable   is   defined   by  config  sub-command  when  setting
2295       extra_siteconfig. If it exists the extra siteconfig is sourced by  mod‐
2296       ulecmd.tcl right after main siteconfig script.
2297
2298   Hooks
2299       Siteconfig  relies on the ability of the Tcl language to overwrite pre‐
2300       viously defined variables and procedures. Sites may  deploy  their  own
2301       Tcl  code in siteconfig to adapt modulecmd.tcl to their specific needs.
2302       The trace Tcl command may especially be used to define hooks  that  are
2303       run  when  entering or leaving a given procedure, or when a variable is
2304       read or written.  See trace(n) man page for detailed  information.  The
2305       following  example  setup a procedure that is executed before each mod‐
2306       ulefile evaluation:
2307
2308          proc beforeEval {cmdstring code result op} {
2309             # code to run right before each modulefile evaluation
2310          }
2311          trace add execution execute-modulefile enter beforeEval
2312
2313       Another possibility is to override the definition of an existing proce‐
2314       dure  by first renaming its original version then creating a new proce‐
2315       dure that will add specific code and rely on the renamed original  pro‐
2316       cedure for the rest. See rename(n) man page for details. As an example,
2317       the following code adds a new query option to the  module-info  module‐
2318       file command:
2319
2320          rename module-info __module-info
2321          proc module-info {what {more {}}} {
2322             switch -- $what {
2323                platform { return myhost-$::tcl_platform(machine) }
2324                default { return [__module-info $what $more] }
2325             }
2326          }
2327
2328   Siteconfig hook variables
2329       Some  Tcl  variables  can  be defined in siteconfig script with special
2330       hook meaning. The following variables are recognized:
2331
2332       modulefile_extra_vars
2333              List of variable names and associated values to setup in module‐
2334              file  evaluation  context.  These variables can be accessed when
2335              modulefile is executed. In case code in a modulefile changes the
2336              value of such variable, its value is reset to the one defined in
2337              modulefile_extra_vars prior the evaluation of the  next  module‐
2338              file.
2339
2340                 set modulefile_extra_vars {myvar 1 othervar {some text}}
2341
2342              In  the above siteconfig example, modulefile_extra_vars sets the
2343              myvar and othervar variables in the modulefile  evaluation  con‐
2344              text with respectively 1 and some text as value.
2345
2346       modulefile_extra_cmds
2347              List  of command and associated local procedure to setup in mod‐
2348              ulefile evaluation context. These commands can  be  called  from
2349              the  modulefile  to execute associated procedure. In case a mod‐
2350              ulefile changes the definition of such command,  its  definition
2351              is bound again on the procedure defined in modulefile_extra_cmds
2352              prior the evaluation of the next modulefile.
2353
2354                 proc mycmd {} {
2355                     # Tcl code
2356                 }
2357                 proc anotherproc {args} {
2358                     # Tcl code
2359                 }
2360                 set modulefile_extra_cmds {mycmd mycmd othercmd anotherproc}
2361
2362              In the above siteconfig example, modulefile_extra_cmds sets  the
2363              mycmd and othercmd commands in the modulefile evaluation context
2364              and bind them respectively to the mycmd and  anotherproc  proce‐
2365              dures defined in siteconfig script.
2366
2367       modulerc_extra_vars
2368              List  of  variable  names and associated values to setup in mod‐
2369              ulerc evaluation context. These variables can be  accessed  when
2370              modulerc  is  executed.  In  case code in a modulerc changes the
2371              value of such variable, its value is reset to the one defined in
2372              modulerc_extra_vars prior the evaluation of the next modulerc.
2373
2374                 set modulerc_extra_vars {myvar 1 othervar {some text}}
2375
2376              In  the  above  siteconfig example, modulerc_extra_vars sets the
2377              myvar and othervar variables in the modulerc evaluation  context
2378              with respectively 1 and some text as value.
2379
2380       modulerc_extra_cmds
2381              List  of command and associated local procedure to setup in mod‐
2382              ulerc evaluation context. These commands can be called from  the
2383              modulerc  to  execute  associated  procedure. In case a modulerc
2384              changes the definition of such command, its definition is  bound
2385              again  on the procedure defined in modulerc_extra_cmds prior the
2386              evaluation of the next modulerc.
2387
2388                 proc mycmd {} {
2389                     # Tcl code
2390                 }
2391                 proc anotherproc {args} {
2392                     # Tcl code
2393                 }
2394                 set modulerc_extra_cmds {mycmd mycmd othercmd anotherproc}
2395
2396              In the above siteconfig example,  modulerc_extra_cmds  sets  the
2397              mycmd  and  othercmd commands in the modulerc evaluation context
2398              and bind them respectively to the mycmd and  anotherproc  proce‐
2399              dures defined in siteconfig script.
2400
2401   Module cache
2402       To  improve  module  search  efficiency, a module cache can be setup in
2403       each modulepath. A module cache is represented by a  .modulecache  file
2404       stored  at  the root of modulepath directory. This file aggregates con‐
2405       tents of all valid modulercs and modulefiles and issue  description  of
2406       all non-modulefiles stored in modulepath directory.
2407
2408       When cache file is available, a module search analyzes this file rather
2409       walking through the content of modulepath directory to check  if  files
2410       are  modulefiles  or  not.  Cache file reduces module search processing
2411       time especially when hundreds of modulefiles are available and if these
2412       files  are located on busy storage systems. Having one file to read per
2413       modulepath rather walking through a whole directory  content  extremely
2414       reduces the number of required I/O operations.
2415
2416       When  modulefiles  or  directories in the modulepath are not accessible
2417       for everyone, a limited access indication is  recorded  in  cache  file
2418       rather  content  of these modulefiles and content of these directories.
2419       When cache file containing such indication is  processed,  the  limited
2420       access  modulefiles  are  tested  to check if they are available to the
2421       current running user. Limited access directories  are  walked  down  to
2422       find all available modulefiles and modulercs.
2423
2424       Cache files are generated with cachebuild sub-command. This command has
2425       to be run by someone who owns write access in modulepath  directory  to
2426       create cache file.
2427
2428       Cache  files  are  used any time a module search occurs in modulepaths.
2429       They are analyzed for instance during avail, load,  display  or  whatis
2430       sub-commands.
2431
2432       Cache  files  are removed with cacheclear sub-command. This command has
2433       to be run by someone who own write access in  modulepath  directory  to
2434       effectively delete cache file.
2435

EXIT STATUS

2437       The  module command exits with 0 if its execution succeed.  Otherwise 1
2438       is returned.
2439

ENVIRONMENT

2441       __MODULES_AUTOINIT_INPROGRESS
2442              If set to 1, the autoinit sub-command process is skipped.
2443
2444              This environment variable is set to 1 by the  autoinit  sub-com‐
2445              mand after checking it is not set. It ensures no nested initial‐
2446              ization of Modules occur. At the end of the  processing  of  the
2447              autoinit sub-command, __MODULES_AUTOINIT_INPROGRESS is unset.
2448
2449       __MODULES_LMALTNAME
2450              A  colon  separated  list  of  the alternative names set through
2451              module-version and module-alias statements corresponding to  all
2452              loaded modulefiles. Each element in this list starts by the name
2453              of the loaded modulefile followed by all alternative  names  re‐
2454              solving  to  it. The loaded modulefile and its alternative names
2455              are separated by the ampersand character.
2456
2457              Each alternative name stored in __MODULES_LMALTNAME is  prefixed
2458              by  the  al|  string if it corresponds to a module alias or pre‐
2459              fixed by the as| string if it corresponds to an  automatic  ver‐
2460              sion  symbol.  These  prefixes help to distinguish the different
2461              kind of alternative name.
2462
2463              This environment variable is intended for module command  inter‐
2464              nal  use  to  get  knowledge  of  the alternative names matching
2465              loaded modulefiles in order to keep environment consistent  when
2466              conflicts  or  pre-requirements  are  set over these alternative
2467              designations. It also helps to find a  match  after  modulefiles
2468              being  loaded  when unload, is-loaded or info-loaded actions are
2469              run over these names.
2470
2471              Starting version 4.7 of  Modules,  __MODULES_LMALTNAME  is  also
2472              used on list sub-command to report the symbolic versions associ‐
2473              ated with the loaded modules.
2474
2475       __MODULES_LMCONFLICT
2476              A colon separated list of the conflict statements defined by all
2477              loaded modulefiles. Each element in this list starts by the name
2478              of the loaded modulefile declaring the conflict followed by  the
2479              name  of  all  modulefiles  it  declares  a conflict with. These
2480              loaded modulefiles and conflicting modulefile  names  are  sepa‐
2481              rated by the ampersand character.
2482
2483              This  environment variable is intended for module command inter‐
2484              nal use to get knowledge of the conflicts declared by the loaded
2485              modulefiles  in order to keep environment consistent when a con‐
2486              flicting module is asked for load afterward.
2487
2488       __MODULES_LMINIT
2489              A colon separated list describing the modulepaths that have been
2490              enabled  and  the  modulefiles  that have been loaded with their
2491              tags during Modules initialization. Each element  in  this  list
2492              corresponds to a collection definition line.
2493
2494              This  environment variable is intended for module command inter‐
2495              nal use to get knowledge of the initial loaded state after  ini‐
2496              tialization.
2497
2498              This  initial  environment state can then be restored with reset
2499              sub-command. It can also be restored  with  restore  sub-command
2500              when __init__ collection name is specified or when no collection
2501              name is specified and no default collection exists.
2502
2503              The content of the initial environment  can  be  displayed  with
2504              saveshow  sub-command when __init__ collection name is specified
2505              or when no collection name is specified and no  default  collec‐
2506              tion exists.
2507
2508       __MODULES_LMPREREQ
2509              A  colon  separated list of the prereq statements defined by all
2510              loaded modulefiles. Each element in this list starts by the name
2511              of  the loaded modulefile declaring the pre-requirement followed
2512              by the name of all modulefiles it declares a prereq with.  These
2513              loaded  modulefiles  and pre-required modulefile names are sepa‐
2514              rated by the ampersand character. When  a  prereq  statement  is
2515              composed  of  multiple  modulefiles,  these modulefile names are
2516              separated by the pipe character.
2517
2518              This environment variable is intended for module command  inter‐
2519              nal  use to get knowledge of the pre-requirement declared by the
2520              loaded modulefiles in order to keep environment consistent  when
2521              a pre-required module is asked for unload afterward.
2522
2523       __MODULES_LMREFRESH
2524              A  colon separated list of the loaded modules that are qualified
2525              for refresh evaluation. Loaded modules listed in  this  variable
2526              are  those defining volatile environment changes like shell com‐
2527              pletion, alias and function.
2528
2529       __MODULES_LMSOURCESH
2530              A colon separated list of the source-sh  statements  defined  by
2531              all  loaded modulefiles. Each element in this list starts by the
2532              name of the loaded modulefile declaring the environment  changes
2533              made  by  the evaluation of source-sh scripts. This name is fol‐
2534              lowed by each source-sh statement call and corresponding  result
2535              achieved  in  modulefile.  The  loaded  modulefile name and each
2536              source-sh statement description are separated by  the  ampersand
2537              character.  The source-sh statement call and each resulting mod‐
2538              ulefile command (corresponding to the environment  changes  done
2539              by sourced script) are separated by the pipe character.
2540
2541              This  environment variable is intended for module command inter‐
2542              nal use to get knowledge of the modulefile commands applied  for
2543              each  source-sh command when loading the modulefile. In order to
2544              reverse these modulefile commands when modulefile is unloaded to
2545              undo the environment changes.
2546
2547       __MODULES_LMEXTRATAG
2548              A  colon  separated list of the tags corresponding to all loaded
2549              modulefiles that have been set through the  --tag  option.  Each
2550              element in this list starts by the name of the loaded modulefile
2551              followed by all explicitly set tags applying to it.  The  loaded
2552              modulefile  and  its tags are separated by the ampersand charac‐
2553              ter.
2554
2555              This environment variable is intended for module command  inter‐
2556              nal  use  to  distinguish  from  all  tags  those that have been
2557              specifically set with --tag option.
2558
2559       __MODULES_LMTAG
2560              A colon separated list of the tags corresponding to  all  loaded
2561              modulefiles  that have been set through module-tag statements or
2562              from other modulefile statements like  module-forbid  (that  may
2563              apply  the  nearly-forbidden  tag  in  specific  situation) (see
2564              Module tags section).  Each element in this list starts  by  the
2565              name  of  the loaded modulefile followed by all tags applying to
2566              it. The loaded modulefile and its tags are separated by the  am‐
2567              persand character.
2568
2569              This  environment variable is intended for module command inter‐
2570              nal use to get knowledge of the tags applying to loaded  module‐
2571              files  in  order to report these tags on list sub-command output
2572              or to apply specific behavior when unloading modulefile.
2573
2574       __MODULES_LMVARIANT
2575              A colon separated  list  of  the  variant  instantiated  through
2576              variant  statements  by all loaded modulefiles (see Module vari‐
2577              ants section).  Each element in this list starts by the name  of
2578              the  loaded  modulefile  followed by all the variant definitions
2579              set during the load of this module.  The loaded  modulefile  and
2580              each  of  its  variant definition are separated by the ampersand
2581              character. Each variant definition starts with the variant name,
2582              followed  by the variant value set, then a flag to know if vari‐
2583              ant is of the Boolean type and last element in  this  definition
2584              is  a  flag  to  know if the chosen value is the default one for
2585              this variant and if it has been automatically set or not.  These
2586              four  elements composing the variant definition are separated by
2587              the pipe character.
2588
2589              This environment variable is intended for module command  inter‐
2590              nal  use  to  get  knowledge of the variant value defined by the
2591              loaded modulefiles in order to keep environment consistent  when
2592              requirements  are  set  over a specific variant value or just to
2593              report these variant values when listing loaded modules.
2594
2595       __MODULES_PUSHENV_<VAR>
2596              Stack  of  saved  values  for  <VAR>  environment  variable.   A
2597              colon-separated  list  containing  pairs  of elements. A pair is
2598              formed by a loaded module name followed  by  the  value  set  to
2599              <VAR>  in this module with pushenv command. An ampersand charac‐
2600              ter separates the two parts of the pair.
2601
2602              First element in list corresponds to the  lastly  set  value  of
2603              <VAR>.   If  a value were set to <VAR> prior the first evaluated
2604              pushenv command, this value is associated  to  an  empty  module
2605              name to record it as a pair element in __MODULES_PUSHENV_<VAR>.
2606
2607       __MODULES_QUAR_<VAR>
2608              Value  of  environment variable <VAR> passed to modulecmd.tcl in
2609              order to restore <VAR> to this value once started.
2610
2611       __MODULES_QUARANTINE_SET
2612              If set to 1, restore the environment variables set  on  hold  by
2613              the  quarantine  mechanism  when  starting modulecmd.tcl script.
2614              This variable is automatically defined by Modules shell initial‐
2615              ization  scripts  or  module  shell function when they apply the
2616              quarantine mechanism.  (see MODULES_QUARANTINE_SUPPORT).
2617
2618       __MODULES_SHARE_<VAR>
2619              Reference counter variable for path-like variable <VAR>. A colon
2620              separated list containing pairs of elements. A pair is formed by
2621              a path element followed its usage counter which  represents  the
2622              number  of times this path has been enabled in variable <VAR>. A
2623              colon separates the two parts of the pair.
2624
2625              An element of a path-like variable is  added  to  the  reference
2626              counter variable as soon as it is added more than one time. When
2627              an element of a path-like variable is not found in the reference
2628              counter  variable,  it means this element has only be added once
2629              to the path-like variable.
2630
2631              When an empty string is added as an  element  in  the  path-like
2632              variable,  it is added to the reference counter variable even if
2633              added only once to distinguish between an empty path-like  vari‐
2634              able and a path-like variable containing an empty string as sin‐
2635              gle element.
2636
2637       _LMFILES_
2638              A colon separated list of the full pathname for all loaded  mod‐
2639              ulefiles.
2640
2641              This  environment  variable  is  generated by module command and
2642              should not be modified externally.
2643
2644       LOADEDMODULES
2645              A colon separated list of all loaded modulefiles.
2646
2647              This environment variable is generated  by  module  command  and
2648              should not be modified externally.
2649
2650       MODULECONTACT
2651              Email address to contact in case any issue occurs during the in‐
2652              terpretation of modulefiles.
2653
2654              This environment variable value supersedes the default value set
2655              in  the contact configuration option. It can be defined with the
2656              config sub-command.
2657
2658       MODULEPATH
2659              The path that the module command searches when looking for  mod‐
2660              ulefiles.  Typically,  it  is set to the main modulefiles direc‐
2661              tory,  /usr/share/Modules/modulefiles,  by  the   initialization
2662              script.  MODULEPATH can be set using module use or by the module
2663              initialization script to search group or personal modulefile di‐
2664              rectories before or after the main modulefile directory.
2665
2666              Path  elements registered in the MODULEPATH environment variable
2667              may contain reference to environment variables  which  are  con‐
2668              verted  to their corresponding value by module command each time
2669              it looks at the MODULEPATH value. If an environment variable re‐
2670              ferred  in  a path element is not defined, its reference is con‐
2671              verted to an empty string.
2672
2673       MODULERCFILE
2674              The location of a global run-command file containing  modulefile
2675              specific  setup.  See Modulecmd startup section for detailed in‐
2676              formation.
2677
2678              This environment variable value supersedes the default value set
2679              in  the  rcfile configuration option. It can be defined with the
2680              config sub-command.
2681
2682       MODULES_ADVANCED_VERSION_SPEC
2683              If set to 1, enable  advanced  module  version  specifiers  (see
2684              Advanced  module  version specifiers section). If set to 0, dis‐
2685              able advanced module version specifiers.
2686
2687              This environment variable value supersedes the default value set
2688              in the advanced_version_spec configuration option. It can be de‐
2689              fined with the config sub-command.
2690
2691       MODULES_AUTO_HANDLING
2692              If set to 1, enable automated module handling mode. If set to  0
2693              disable  automated  module  handling  mode. Other values are ig‐
2694              nored.
2695
2696              Automated module handling mode consists  in  additional  actions
2697              triggered  when loading or unloading a modulefile to satisfy the
2698              constraints it declares.  When loading a  modulefile,  following
2699              actions are triggered:
2700
2701              • Requirement Load: load of the modulefiles declared as a prereq
2702                of the loading modulefile.
2703
2704              • Dependent Reload: reload of the modulefiles declaring a prereq
2705                onto loaded modulefile or declaring a prereq onto a modulefile
2706                part of this reloading batch.
2707
2708              When unloading a modulefile, following actions are triggered:
2709
2710              • Dependent  Unload:  unload  of  the  modulefiles  declaring  a
2711                non-optional  prereq  onto  unloaded modulefile or declaring a
2712                non-optional prereq onto a modulefile part of  this  unloading
2713                batch.  A  prereq  modulefile  is  considered  optional if the
2714                prereq definition order is made of multiple modulefiles and at
2715                least one alternative modulefile is loaded.
2716
2717              • Useless  Requirement  Unload: unload of the prereq modulefiles
2718                that have been automatically loaded for  either  the  unloaded
2719                modulefile,  an  unloaded dependent modulefile or a modulefile
2720                part of this useless requirement unloading batch.  Modulefiles
2721                are  added  to  this  unloading batch only if they are not re‐
2722                quired by any other loaded modulefiles and  if  they  are  not
2723                tagged keep-loaded.
2724
2725              • Dependent  Reload:  reload  of  the  modulefiles  declaring  a
2726                conflict or an optional prereq onto either the  unloaded  mod‐
2727                ulefile, an unloaded dependent or an unloaded useless require‐
2728                ment or declaring a prereq onto  a  modulefile  part  of  this
2729                reloading batch.
2730
2731              In case a loaded modulefile has some of its declared constraints
2732              unsatisfied (pre-required modulefile not loaded  or  conflicting
2733              modulefile  loaded  for instance), this loaded modulefile is ex‐
2734              cluded from the automatic reload actions described above.
2735
2736              For the specific case of the switch sub-command, where a module‐
2737              file is unloaded to then load another modulefile. Dependent mod‐
2738              ulefiles to Unload are merged into the Dependent modulefiles  to
2739              Reload  that are reloaded after the load of the switched-to mod‐
2740              ulefile.
2741
2742              This environment variable value supersedes the default value set
2743              on  the  auto_handling  configuration  option. It can be defined
2744              with the config sub-command. The --auto  and  --no-auto  command
2745              line switches override this environment variable.
2746
2747       MODULES_AVAIL_INDEPTH
2748              If  set  to 1, enable in depth search results for avail sub-com‐
2749              mand. If set to 0 disable avail sub-command in depth mode. Other
2750              values are ignored.
2751
2752              When  in depth mode is enabled, modulefiles and directories con‐
2753              tained in directories matching search query are also included in
2754              search  results. When disabled these modulefiles and directories
2755              contained in matching directories are excluded.
2756
2757              This environment variable value supersedes the default value set
2758              in  the  avail_indepth  configuration  option. It can be defined
2759              with the config sub-command. The --indepth and --no-indepth com‐
2760              mand line switches override this environment variable.
2761
2762       MODULES_AVAIL_OUTPUT
2763              A  colon separated list of the elements to report in addition to
2764              module names on avail sub-command regular output mode.
2765
2766              Accepted elements that can be set in value list are:
2767
2768alias: module aliases.
2769
2770dirwsym: directories associated with symbolic versions.
2771
2772indesym: symbolic versions  reported  independently  from  the
2773                module or directory they are attached to.
2774
2775key: legend appended at the end of the output to explain it.
2776
2777modulepath:  modulepath  names set as header prior the list of
2778                available modules found in them.
2779
2780sym: symbolic versions associated with available modules.
2781
2782tag: tags associated with available modules.
2783
2784variant: variants and their possible  values  associated  with
2785                available modules.
2786
2787variantifspec:  like  variant  but  only if a variant has been
2788                specified in search query.
2789
2790              The order of the elements in the list does  not  matter.  Module
2791              names are the only content reported when LIST is set to an empty
2792              value.
2793
2794              In case the modulepath element is missing from value  list,  the
2795              available  modules  from  global/user  rc  and  all enabled mod‐
2796              ulepaths are reported as a single list.
2797
2798              When indesym element is set, dirwsym and sym elements  are  dis‐
2799              abled.
2800
2801              This environment variable value supersedes the default value set
2802              in the avail_output configuration option. It can be defined with
2803              the  config  sub-command.  The --output/-o command line switches
2804              override this environment variable.
2805
2806       MODULES_AVAIL_TERSE_OUTPUT
2807              A colon separated list of the elements to report in addition  to
2808              module names on avail sub-command terse output mode.
2809
2810              See  MODULES_AVAIL_OUTPUT  to get the accepted elements that can
2811              be set in value list.
2812
2813              The order of the elements in the list does  not  matter.  Module
2814              names are the only content reported when LIST is set to an empty
2815              value.
2816
2817              This environment variable value supersedes the default value set
2818              in  the  avail_terse_output  configuration option. It can be de‐
2819              fined with the config sub-command. The --output/-o command  line
2820              switches override this environment variable.
2821
2822       MODULES_CACHE_BUFFER_BYTES
2823              Size of the buffer used when reading or writing cache files. Ac‐
2824              cepted values are integers comprised between 4096 and 1000000.
2825
2826       MODULES_CACHE_EXPIRY_SECS
2827              Number of seconds a cache file is considered valid  after  being
2828              generated. For example, if set to 3600 it means a cache file ex‐
2829              pires one hour after being generated and is then ignored.
2830
2831              When set to 0 cache file never expires. Accepted values are  in‐
2832              tegers  comprised  between  0  (cache  files  never  expire) and
2833              31536000 (equivalent to one year duration).
2834
2835       MODULES_CMD
2836              The location of the active module command script.
2837
2838              This environment variable is generated  by  module  command  and
2839              should not be modified externally.
2840
2841       MODULES_COLLECTION_PIN_VERSION
2842              If  set  to 1, register exact version number of modulefiles when
2843              saving a collection.  Otherwise  modulefile  version  number  is
2844              omitted  if it corresponds to the explicitly set default version
2845              and also to the implicit default when the  configuration  option
2846              implicit_default is enabled.
2847
2848              This environment variable value supersedes the default value set
2849              in the collection_pin_version configuration option.  It  can  be
2850              defined with the config sub-command.
2851
2852       MODULES_COLLECTION_PIN_TAG
2853              If set to 1, register all tags applying to modulefiles when sav‐
2854              ing a collection. Otherwise only the extra tags set through  the
2855              --tag  option  and  tags  resulting  from specific module states
2856              (like auto-loaded and keep-loaded tags) are recorded in  collec‐
2857              tion.  Note  that  the  nearly-forbidden tag due to its temporal
2858              meaning is not saved in collection even when this  configuration
2859              option is enabled.
2860
2861              This environment variable value supersedes the default value set
2862              in the collection_pin_tag configuration option. It  can  be  de‐
2863              fined with the config sub-command.
2864
2865       MODULES_COLLECTION_TARGET
2866              The collection target that determines what collections are valid
2867              thus reachable on the current system.
2868
2869              Collection directory may sometimes be  shared  on  multiple  ma‐
2870              chines  which may use different modules setup. For instance mod‐
2871              ules users may access with the same HOME directory multiple sys‐
2872              tems  using different OS versions.  When it happens a collection
2873              made on machine 1 may be erroneous on machine 2.
2874
2875              When a target is set, only the collections made for that  target
2876              are available to the restore, savelist, saveshow, saverm, stash,
2877              stashpop, stashlist, stashshow, and stashrm sub-commands. Saving
2878              a  collection  registers  the  target footprint by suffixing the
2879              collection filename with .$MODULES_COLLECTION_TARGET.  The  col‐
2880              lection  target  is not involved when collection is specified as
2881              file path on the saveshow, restore and save sub-commands.
2882
2883              For example, the MODULES_COLLECTION_TARGET variable may  be  set
2884              with  results  from  commands like lsb_release, hostname, dnsdo‐
2885              mainname, etc.
2886
2887              This environment variable value supersedes the default value set
2888              in the collection_target configuration option. It can be defined
2889              with the config sub-command.
2890
2891       MODULES_COLOR
2892              Defines if output should be colored or not. Accepted values  are
2893              never, auto and always.
2894
2895              When  color  mode  is set to auto, output is colored only if the
2896              standard error output channel is attached to a terminal.
2897
2898              This environment variable value supersedes the default value set
2899              in  the  color  configuration option. It can be defined with the
2900              config sub-command. The --color command  line  switch  overrides
2901              this environment variable.
2902
2903              NO_COLOR,  CLICOLOR and CLICOLOR_FORCE environment variables are
2904              also honored to define color mode. The  never  mode  is  set  if
2905              NO_COLOR  is  defined  (regardless  of its value) or if CLICOLOR
2906              equals to 0. If CLICOLOR is set to another value, it corresponds
2907              to  the  auto  mode. The always mode is set if CLICOLOR_FORCE is
2908              set to a value different than  0.   NO_COLOR  variable  prevails
2909              over  CLICOLOR  and  CLICOLOR_FORCE.  Color  mode set with these
2910              three variables is superseded by mode set with MODULES_COLOR en‐
2911              vironment variable or with --color command line switch..
2912
2913       MODULES_COLORS
2914              Specifies the colors and other attributes used to highlight var‐
2915              ious parts of the output. Its value is a colon-separated list of
2916              output  items  associated  to  a  Select Graphic Rendition (SGR)
2917              code. It follows the same syntax than LS_COLORS.
2918
2919              Output items are designated by keys. Items able to be  colorized
2920              are: highlighted element (hi), debug information (db), trace in‐
2921              formation (tr), tag separator (se); Error  (er),  warning  (wa),
2922              module  error  (me)  and  info (in) message prefixes; Modulepath
2923              (mp), directory (di), module alias (al),  module  variant  (va),
2924              module  symbolic  version  (sy), module default version (de) and
2925              modulefile command (cm).
2926
2927              Module tags can also be colorized. The key to set in  the  color
2928              palette to get a graphical rendering of a tag is the tag name or
2929              the tag abbreviation if one is defined for tag. The SGR code ap‐
2930              plied  to  a  tag  name is ignored if an abbreviation is set for
2931              this tag thus the SGR code should be defined for this  abbrevia‐
2932              tion to get a graphical rendering. Each basic tag has by default
2933              a key set in the color palette, based on its abbreviated string:
2934              auto-loaded  (aL),  forbidden (F), hidden and hidden-loaded (H),
2935              loaded (L), nearly-forbidden (nF), sticky (S), super-sticky (sS)
2936              and keep-loaded (kL).
2937
2938              See the Select Graphic Rendition (SGR) section in the documenta‐
2939              tion of the text terminal that is used for permitted values  and
2940              their  meaning  as  character attributes. These substring values
2941              are integers in decimal representation and can  be  concatenated
2942              with  semicolons.  Modules  takes  care of assembling the result
2943              into a complete SGR sequence (\33[...m). Common values  to  con‐
2944              catenate include 1 for bold, 4 for underline, 30 to 37 for fore‐
2945              ground colors and 90 to 97 for 16-color mode foreground  colors.
2946              See                                                         also
2947              https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_(Select_Graphic_Rendition)_parameters
2948              for a complete SGR code reference.
2949
2950              No  graphical  rendition  will be applied to an output item that
2951              could normally be colored but which is not defined in the  color
2952              set.  Thus if MODULES_COLORS is defined empty, no output will be
2953              colored at all.
2954
2955              This environment variable value supersedes the default value set
2956              in  the  colors configuration option. It can be defined with the
2957              config sub-command.
2958
2959       MODULES_EDITOR
2960              Text editor command name or path  for  use  to  open  modulefile
2961              through the edit sub-command.
2962
2963              This environment variable value supersedes the default value set
2964              in the editor configuration option. It can be defined  with  the
2965              config sub-command.
2966
2967              Text  editor  could also be defined through the VISUAL or EDITOR
2968              environment variables. These environment variables are  overrid‐
2969              den by MODULES_EDITOR.
2970
2971       MODULES_EXTENDED_DEFAULT
2972              If  set  to  1,  a  specified  module version is matched against
2973              starting portion of existing module versions, where portion is a
2974              substring  separated  from the rest of the version string by a .
2975              character. For example specified modules mod/1 and mod/1.2  will
2976              match existing modulefile mod/1.2.3.
2977
2978              In  case multiple modulefiles match the specified module version
2979              and a single module has to be selected, the explicitly  set  de‐
2980              fault version is returned if it is part of matching modulefiles.
2981              Otherwise the implicit default among matching modulefiles is re‐
2982              turned if defined (see MODULES_IMPLICIT_DEFAULT section)
2983
2984              This environment variable value supersedes the default value set
2985              in the extended_default configuration option. It can be  defined
2986              with the config sub-command.
2987
2988       MODULES_FAMILY_<NAME>
2989              Module  name  minus version that provides for the name family in
2990              currently loaded environment. This environment variable  is  de‐
2991              fined through the use of the family modulefile command.
2992
2993              For  instance if loading modulefile foo/1.0 defines being member
2994              of the bar family, the MODULES_FAMILY_BAR will be set to the foo
2995              value.
2996
2997              This  environment  variable  is  generated by module command and
2998              should not be modified externally.
2999
3000       MODULES_ICASE
3001              When module specification  are  passed  as  argument  to  module
3002              sub-commands or modulefile Tcl commands, defines the case sensi‐
3003              tiveness to apply to match them. When MODULES_ICASE  is  set  to
3004              never,  a case sensitive match is applied in any cases. When set
3005              to search, a case insensitive match is  applied  to  the  avail,
3006              list,  whatis,  paths and savelist sub-commands. When set to al‐
3007              ways, a case insensitive match is also applied to the other mod‐
3008              ule  sub-commands  and  modulefile  Tcl  commands for the module
3009              specification they receive as argument.
3010
3011              This environment variable value supersedes the default value set
3012              in  the  icase  configuration option. It can be defined with the
3013              config sub-command. The --icase/-i command line switches,  which
3014              correspond  to  the always mode, override this environment vari‐
3015              able.
3016
3017       MODULES_IGNORE_CACHE
3018              Ignore (if set to 1) or not (if set to 0) module cache.
3019
3020              This environment variable value supersedes the default value set
3021              in the ignore_cache configuration option. It can be defined with
3022              the config sub-command. The --ignore-cache command  line  switch
3023              overrides this environment variable.
3024
3025       MODULES_IGNORE_USER_RC
3026              Skip  evaluation (if set to 1) or not (if set to 0) of user-spe‐
3027              cific module rc file ($HOME/.modulerc).
3028
3029              This environment variable value supersedes the default value set
3030              in  the  ignore_user_rc  configuration option. It can be defined
3031              with the config sub-command. The --ignore-user-rc  command  line
3032              switch overrides this environment variable.
3033
3034       MODULES_IMPLICIT_DEFAULT
3035              Defines  (if  set to 1) or not (if set to 0) an implicit default
3036              version for modules without a default version explicitly defined
3037              (see Locating Modulefiles section in the modulefile man page).
3038
3039              Without either an explicit or implicit default version defined a
3040              module must be fully qualified (version should be  specified  in
3041              addition to its name) to get:
3042
3043              • targeted  by module load, switch, display, help, test and path
3044                sub-commands.
3045
3046              • restored from a collection, unless already loaded  in  collec‐
3047                tion-specified order.
3048
3049              • automatically  loaded  by automated module handling mechanisms
3050                (see MODULES_AUTO_HANDLING section) when  declared  as  module
3051                requirement, with prereq or module load modulefile commands.
3052
3053              An  error  is  returned in the above situations if either no ex‐
3054              plicit or implicit default version is defined.
3055
3056              This environment variable value supersedes the default value set
3057              in  the implicit_default configuration option. It can be defined
3058              with the config sub-command. This environment  variable  is  ig‐
3059              nored   if   implicit_default   has   been  declared  locked  in
3060              locked_configs configuration option.
3061
3062       MODULES_IMPLICIT_REQUIREMENT
3063              Defines (if set to 1) or not (if set to 0) an implicit prereq or
3064              conflict  requirement  onto  modules  specified  respectively on
3065              module load or module unload commands in  modulefile.  When  en‐
3066              abled  an implicit conflict requirement onto switched-off module
3067              and a prereq requirement onto switched-on module  are  also  de‐
3068              fined for module switch commands used in modulefile.
3069
3070              This environment variable value supersedes the default value set
3071              in the implicit_requirement configuration option. It can be  de‐
3072              fined with the config sub-command. The --not-req option, applied
3073              to a module command in a modulefile, overrides this  environment
3074              variable.
3075
3076       MODULES_LIST_OUTPUT
3077              A  colon separated list of the elements to report in addition to
3078              module names on list sub-command regular output mode.
3079
3080              Accepted elements that can be set in value list are:
3081
3082header: sentence to introduce the list of loaded modules or to
3083                state that no modules are loaded currently.
3084
3085idx: index position of each loaded module.
3086
3087key: legend appended at the end of the output to explain it.
3088
3089variant: variant values selected for loaded modules.
3090
3091sym: symbolic versions associated with loaded modules.
3092
3093tag: tags associated with loaded modules.
3094
3095              The  order  of  the elements in the list does not matter. Module
3096              names are the only content reported when LIST is set to an empty
3097              value.
3098
3099              This environment variable value supersedes the default value set
3100              in the list_output configuration option. It can be defined  with
3101              the  config  sub-command.  The --output/-o command line switches
3102              override this environment variable.
3103
3104       MODULES_LIST_TERSE_OUTPUT
3105              A colon separated list of the elements to report in addition  to
3106              module names on list sub-command terse output mode.
3107
3108              See MODULES_LIST_OUTPUT to get the accepted elements that can be
3109              set in value list.
3110
3111              The order of the elements in the list does  not  matter.  Module
3112              names are the only content reported when LIST is set to an empty
3113              value.
3114
3115              This environment variable value supersedes the default value set
3116              in the list_terse_output configuration option. It can be defined
3117              with  the  config  sub-command.  The  --output/-o  command  line
3118              switches override this environment variable.
3119
3120       MODULES_MCOOKIE_CHECK
3121              If  set  to  eval, the Modules magic cookie (i.e., #%Module file
3122              signature) is only checked to determine if a file is  a  module‐
3123              file  when evaluating these files. If set to always, the Modules
3124              magic cookie is also checked when searching for modules.
3125
3126              The eval mode is made to significantly reduce file  checks  when
3127              walking  through  modulepaths to search for modulefiles. Special
3128              care should be given to the content  of  modulepaths  when  this
3129              eval  mode is set as the following kind of files are included in
3130              search results:
3131
3132modulefiles with a magic cookie requiring a higher version  of
3133                modulecmd.tcl
3134
3135              • files not beginning with the magic cookie #%Module
3136
3137              • read-protected files
3138
3139              When  a  module  cache file is available for a given modulepath,
3140              eval mode is not applied as cache content is generated in always
3141              mode.
3142
3143              This environment variable value supersedes the default value set
3144              in the mcookie_check configuration option.  It  can  be  defined
3145              with the config sub-command.
3146
3147       MODULES_MCOOKIE_VERSION_CHECK
3148              If set to 1, the version set in the Modules magic cookie in mod‐
3149              ulefile is checked against the current version of  modulecmd.tcl
3150              to determine if the modulefile can be evaluated.
3151
3152              When  a  module  cache file is available for a given modulepath,
3153              version check is considered enabled as cache content  is  gener‐
3154              ated in this mode.
3155
3156              This environment variable value supersedes the default value set
3157              in the mcookie_version_check configuration option. It can be de‐
3158              fined with the config sub-command.
3159
3160       MODULES_ML
3161              If  set  to  1, define ml command when initializing Modules (see
3162              Package Initialization section). If set to 0, ml command is  not
3163              defined.
3164
3165              This environment variable value supersedes the default value set
3166              in the ml configuration option.  It  can  be  defined  with  the
3167              config sub-command.
3168
3169              To  enable or disable ml command, MODULES_ML should be set prior
3170              Modules initialization or the ml configuration option should  be
3171              set in the initrc configuration file.
3172
3173       MODULES_NEARLY_FORBIDDEN_DAYS
3174              Number  of  days  a  module is considered nearly forbidden prior
3175              reaching its expiry date set by  module-forbid  modulefile  com‐
3176              mand. When a nearly forbidden module is evaluated a warning mes‐
3177              sage is issued to inform module will soon be forbidden.  If  set
3178              to  0,  modules  will  never be considered nearly forbidden. Ac‐
3179              cepted values are integers comprised between 0 and 365.
3180
3181              This environment variable value supersedes the default value set
3182              in the nearly_forbidden_days configuration option. It can be de‐
3183              fined with the config sub-command.
3184
3185       MODULES_PAGER
3186              Text viewer for use to paginate message output if  error  output
3187              stream  is attached to a terminal. The value of this variable is
3188              composed of a pager command name or path eventually followed  by
3189              command-line options.
3190
3191              This environment variable value supersedes the default value set
3192              in the pager configuration option. It can be  defined  with  the
3193              config sub-command.
3194
3195              If  MODULES_PAGER  variable  is set to an empty string or to the
3196              value cat, pager will not be launched.
3197
3198       MODULES_PROTECTED_ENVVARS
3199              A colon separated list of environment variable names that should
3200              not be modified by any modulefile command.
3201
3202              Prevents    modifications    by    append-path,    prepend-path,
3203              remove-path, setenv and unsetenv. When these modulefile commands
3204              attempt  to  modify  a protected environment variable, a warning
3205              message is emitted and modification is ignored.
3206
3207              This environment variable value supersedes the default value set
3208              in the protected_envvars configuration option. It can be defined
3209              with the config sub-command.
3210
3211       MODULES_QUARANTINE_SUPPORT
3212              If set to 1, produces the shell code  for  quarantine  mechanism
3213              when  the  autoinit sub-command generates the module shell func‐
3214              tion.
3215
3216              The generated shell code  for  quarantine  mechanism  indirectly
3217              passes      the      environment     variable     defined     in
3218              MODULES_RUN_QUARANTINE to the modulecmd.tcl  script  to  protect
3219              its  run-time  environment from side-effect coming from the cur‐
3220              rent definition of these variables.
3221
3222              To enable quarantine support, MODULES_QUARANTINE_SUPPORT  should
3223              be    set   to   1   prior   Modules   initialization   or   the
3224              quarantine_support configuration should be set to 1 in the  ini‐
3225              trc configuration file.
3226
3227              Generated    code    for    quarantine    mechanism   sets   the
3228              __MODULES_QUARANTINE_SET environment variable when  calling  the
3229              modulecmd.tcl script to make it restore the environment variable
3230              put in quarantine.
3231
3232              This environment variable value supersedes the default value set
3233              in  the  quarantine_support  configuration option. It can be de‐
3234              fined with the config sub-command.
3235
3236       MODULES_REDIRECT_OUTPUT
3237              If set to 0, the output generated by module command is  kept  on
3238              stderr and not redirected to stdout channel.
3239
3240              This environment variable value supersedes the default value set
3241              in the redirect_output configuration option. It can  be  defined
3242              with  the  config  sub-command. The --redirect and --no-redirect
3243              command line switches override this environment variable.
3244
3245       MODULES_RESET_TARGET_STATE
3246              Defines behavior of reset sub-command.  When  set  to  __init__,
3247              initial  environment  is  restored. When set to __purge__, reset
3248              performs a purge sub-command. Any other value designates a  name
3249              collection to restore.
3250
3251              This environment variable value supersedes the default value set
3252              in the reset_target_state configuration option. It  can  be  de‐
3253              fined with the config sub-command.
3254
3255       MODULES_RUN_QUARANTINE
3256              A space separated list of environment variable names that should
3257              be passed indirectly to modulecmd.tcl to  protect  its  run-time
3258              environment  from  side-effect coming from their current defini‐
3259              tion.
3260
3261              If the quarantine mechanism has been included  in  module  shell
3262              function  (see  MODULES_QUARANTINE_SUPPORT), each variable found
3263              in MODULES_RUN_QUARANTINE will have its value emptied or set  to
3264              the  value  of  the  corresponding MODULES_RUNENV_<VAR> variable
3265              when defining modulecmd.tcl run-time environment.
3266
3267              Original values of these environment variables set in quarantine
3268              are passed to modulecmd.tcl via __MODULES_QUAR_<VAR> variables.
3269
3270              This environment variable value supersedes the default value set
3271              in the run_quarantine configuration option. It  can  be  defined
3272              with the config sub-command.
3273
3274       MODULES_RUNENV_<VAR>
3275              Value  to  set  to  environment variable <VAR> for modulecmd.tcl
3276              run-time    execution    if     <VAR>     is     referred     in
3277              MODULES_RUN_QUARANTINE.
3278
3279       MODULES_SEARCH_MATCH
3280              When  searching  for modules with avail sub-command, defines the
3281              way query string should match against  available  module  names.
3282              With  starts_with  value,  returned modules are those whose name
3283              begins by search query string. When set to contains, any modules
3284              whose  fully qualified name contains search query string are re‐
3285              turned.
3286
3287              This environment variable value supersedes the default value set
3288              in the search_match configuration option. It can be defined with
3289              the config sub-command. The --starts-with and --contains command
3290              line switches override this environment variable.
3291
3292       MODULES_SET_SHELL_STARTUP
3293              If  set  to 1, defines when module command initializes the shell
3294              startup file to ensure that the module command is still  defined
3295              in sub-shells. Setting shell startup file means defining the ENV
3296              and BASH_ENV environment variable to the  Modules  bourne  shell
3297              initialization  script.  If  set to 0, shell startup file is not
3298              defined.
3299
3300              This environment variable value supersedes the default value set
3301              in the set_shell_startup configuration option. It can be defined
3302              with the config sub-command.
3303
3304              To enable shell startup file,  MODULES_SET_SHELL_STARTUP  should
3305              be    set   to   1   prior   Modules   initialization   or   the
3306              set_shell_startup configuration option should be set to 1 in the
3307              initrc configuration file.
3308
3309       MODULES_SHELLS_WITH_KSH_FPATH
3310              A  list  of shell on which the FPATH environment variable should
3311              be defined at initialization time to point to the  ksh-functions
3312              directory where the ksh initialization script for module command
3313              is located.  It enables for the  listed  shells  to  get  module
3314              function defined when starting ksh as sub-shell from there.
3315
3316              Accepted  values  are  a list of shell among sh, bash, csh, tcsh
3317              and fish separated by colon character (:).
3318
3319              This environment variable value supersedes the default value set
3320              in the shells_with_ksh_fpath configuration option. It can be de‐
3321              fined with the config sub-command.
3322
3323              To   enable   the   setup   of   FPATH    for    some    shells,
3324              MODULES_SHELLS_WITH_KSH_FPATH should be set to the list of these
3325              shells prior Modules initialization or the shells_with_ksh_fpath
3326              configuration  option  should be set to the list of these shells
3327              in the initrc configuration file.
3328
3329       MODULES_SILENT_SHELL_DEBUG
3330              If set to 1, disable any xtrace or  verbose  debugging  property
3331              set on current shell session for the duration of either the mod‐
3332              ule command or the module shell initialization script. Only  ap‐
3333              plies to Bourne Shell (sh) and its derivatives.
3334
3335              This environment variable value supersedes the default value set
3336              in the silent_shell_debug configuration option. It  can  be  de‐
3337              fined with the config sub-command.
3338
3339              To  generate the code to silence shell debugging property in the
3340              module shell function, MODULES_SILENT_SHELL_DEBUG should be  set
3341              to 1 prior Modules initialization or the silent_shell_debug con‐
3342              figuration option should be set to 1 in the initrc configuration
3343              file.
3344
3345       MODULES_SITECONFIG
3346              Location  of a site-specific configuration script to source into
3347              modulecmd.tcl. See Site-specific configuration section  for  de‐
3348              tails.
3349
3350              This environment variable value supersedes the default value set
3351              in the extra_siteconfig configuration option. It can be  defined
3352              with  the  config  sub-command. This environment variable is ig‐
3353              nored  if  extra_siteconfig  has   been   declared   locked   in
3354              locked_configs configuration option.
3355
3356       MODULES_TAG_ABBREV
3357              Specifies  the  abbreviation  strings used to report module tags
3358              (see Module tags section). Its value is a  colon-separated  list
3359              of  module  tag names associated to an abbreviation string (e.g.
3360              tagname=abbrev).
3361
3362              If a tag is associated to an empty string abbreviation, this tag
3363              will not be reported. In case the whole MODULES_TAG_ABBREV envi‐
3364              ronment variable is set to an empty string,  tags  are  reported
3365              but not abbreviated.
3366
3367              This environment variable value supersedes the default value set
3368              in the tag_abbrev configuration option. It can be  defined  with
3369              the config sub-command.
3370
3371       MODULES_TAG_COLOR_NAME
3372              Specifies the tag names or abbreviations whose graphical render‐
3373              ing should be applied over themselves instead of  being  applied
3374              over  the  name  of  the  module  they are attached to. Value of
3375              MODULES_TAG_COLOR_NAME is a colon-separated list of  module  tag
3376              names or abbreviation strings (see Module tags section).
3377
3378              When  a  select graphic rendition is defined for a tag name or a
3379              tag abbreviation string, it is applied over the module name  as‐
3380              sociated  with  the tag and tag name or abbreviation is not dis‐
3381              played. When listed in MODULES_TAG_COLOR_NAME environment  vari‐
3382              able, a tag name or abbreviation is displayed and select graphic
3383              rendition is applied over it.
3384
3385              This environment variable value supersedes the default value set
3386              in  the  tag_color_name  configuration option. It can be defined
3387              with the config sub-command.
3388
3389       MODULES_TCL_LINTER
3390              Command name or path for  use  to  check  syntax  of  modulefile
3391              through the lint sub-command.
3392
3393              This environment variable value supersedes the default value set
3394              in the tcl_linter configuration option. It can be  defined  with
3395              the config sub-command.
3396
3397       MODULES_TERM_BACKGROUND
3398              Inform  Modules of the terminal background color to determine if
3399              the color set for dark background or the  color  set  for  light
3400              background  should  be  used to color output in case no specific
3401              color set is defined with the MODULES_COLORS variable.  Accepted
3402              values are dark and light.
3403
3404              This environment variable value supersedes the default value set
3405              in the term_background configuration option. It can  be  defined
3406              with the config sub-command.
3407
3408       MODULES_TERM_WIDTH
3409              Specifies  the number of columns of the output. If set to 0, the
3410              output width will be the full terminal width, which is automati‐
3411              cally  detected by the module command. Accepted values are inte‐
3412              gers comprised between 0 and 1000.
3413
3414              This environment variable value supersedes the default value set
3415              in  the  term_width configuration option. It can be defined with
3416              the config sub-command. The  --width/-w  command  line  switches
3417              override this environment variable.
3418
3419       MODULES_UNLOAD_MATCH_ORDER
3420              When  a  module  unload request matches multiple loaded modules,
3421              unload firstly loaded module or lastly loaded  module.  Accepted
3422              values are returnfirst and returnlast.
3423
3424              This environment variable value supersedes the default value set
3425              in the unload_match_order configuration option. It  can  be  de‐
3426              fined with the config sub-command.
3427
3428       MODULES_VARIANT_SHORTCUT
3429              Specifies  the shortcut characters that could be used to specify
3430              and report module variants (see Module  variants  section).  Its
3431              value is a colon-separated list of variant names associated to a
3432              shortcut character (e.g., variantname=shortcutchar).
3433
3434              A variant shortcut must be of  one  character  length  and  must
3435              avoid  characters  used  for  other  concerns or in module names
3436              (i.e., [-+~/@=a-zA-Z0-9]).
3437
3438              If a shortcut is associated to an empty  string  or  an  invalid
3439              character, this shortcut definition will be ignored.
3440
3441              This environment variable value supersedes the default value set
3442              in the variant_shortcut configuration option. It can be  defined
3443              with the config sub-command.
3444
3445       MODULES_VERBOSITY
3446              Defines  the  verbosity  level  of the module command. Available
3447              verbosity levels from the least to the most verbose are:
3448
3449silent: turn off error, warning and informational messages but
3450                does not affect module command output result.
3451
3452concise:  enable error and warning messages but disable infor‐
3453                mational messages.
3454
3455normal: turn on informational messages, like a report  of  the
3456                additional  module evaluations triggered by loading or unload‐
3457                ing modules, aborted evaluation issues or  a  report  of  each
3458                module   evaluation  occurring  during  a  restore  or  source
3459                sub-commands.
3460
3461verbose: add additional informational messages, like a system‐
3462                atic report of the loading or unloading module evaluations.
3463
3464verbose2:  report  loading  or unloading module evaluations of
3465                hidden-loaded modules, report if  loading  module  is  already
3466                loaded or if unloading module is not loaded.
3467
3468trace: provide details on module searches, resolutions, selec‐
3469                tions and evaluations.
3470
3471debug: print debugging messages about  module  command  execu‐
3472                tion.
3473
3474debug2:  report  modulecmd.tcl  procedure calls in addition to
3475                printing debug messages.
3476
3477              This environment variable value supersedes the default value set
3478              in  the  verbosity  configuration option. It can be defined with
3479              the config sub-command. The  --silent,  --verbose,  --debug  and
3480              --trace  command  line  switches override this environment vari‐
3481              able.
3482
3483       MODULES_WA_277
3484              If set to 1 prior to  Modules  package  initialization,  enables
3485              workaround       for      Tcsh      history      issue      (see
3486              https://github.com/cea-hpc/modules/issues/277).    This    issue
3487              leads  to erroneous history entries under Tcsh shell. When work‐
3488              around is enabled, an alternative module alias is defined  which
3489              fixes the history mechanism issue. However the alternative defi‐
3490              nition of the module alias weakens shell evaluation of the  code
3491              produced  by modulefiles.  Characters with a special meaning for
3492              Tcsh shell (like { and }) may not be used anymore in shell alias
3493              definition otherwise the evaluation of the code produced by mod‐
3494              ulefiles will return a syntax error.
3495
3496              This environment variable value supersedes the default value set
3497              in  the  wa_277 configuration option. It can be defined with the
3498              config sub-command.
3499
3500              To enable this workaround, MODULES_WA_277 should  be  set  to  1
3501              prior  Modules initialization or the wa_277 configuration option
3502              should be set to 1 in the initrc configuration file.
3503
3504       MODULESHOME
3505              The location of the main Modules package file directory contain‐
3506              ing  module  command initialization scripts, the executable pro‐
3507              gram modulecmd.tcl, and a directory containing a  collection  of
3508              main modulefiles.
3509
3510              This environment variable value supersedes the default value set
3511              in the home configuration option. It can  be  defined  with  the
3512              config sub-command.
3513

FILES

3515       /usr/share/Modules
3516          The MODULESHOME directory.
3517
3518       /etc/environment-modules/initrc
3519          The  configuration  file evaluated by modulecmd.tcl when it initial‐
3520          izes to enable the default modulepaths, load the default modules and
3521          set module command configuration.
3522
3523          initrc  is a modulefile so it is written as a Tcl script and defines
3524          modulepaths to enable with module use, modules to load  with  module
3525          load  and  configuration to apply with module config. As any module‐
3526          file initrc must begin with the Modules magic cookie (i.e., #%Module
3527          file signature).
3528
3529          initrc  is  optional.  When this configuration file is present it is
3530          evaluated after the modulespath configuration file. See the  Package
3531          Initialization section for details.
3532
3533       /etc/environment-modules/modulespath
3534          The  configuration  file evaluated by modulecmd.tcl when it initial‐
3535          izes to enable the default modulepaths. This file contains the  list
3536          of modulepaths separated by either newline or colon characters.
3537
3538          modulespath  is optional. When this configuration file is present it
3539          is evaluated before the initrc configuration file. See  the  Package
3540          Initialization section for details.
3541
3542       /etc/environment-modules/siteconfig.tcl
3543          The  site-specific  configuration  script of modulecmd.tcl. An addi‐
3544          tional   configuration   script   could   be   defined   using   the
3545          MODULES_SITECONFIG  environment variable. See Site-specific configu‐
3546          ration for detailed information.
3547
3548       /etc/environment-modules/rc
3549          The system-wide modules rc file. The location of this  file  can  be
3550          changed  using  the  MODULERCFILE  environment variable as described
3551          above.
3552
3553       $HOME/.modulerc
3554          The user specific modules rc file.
3555
3556       $HOME/.module
3557          The user specific collection directory.
3558
3559       /usr/share/Modules/modulefiles
3560          The directory for system-wide modulefiles. The location of  the  di‐
3561          rectory  can be changed using the MODULEPATH environment variable as
3562          described above.
3563
3564       <modulepath>/.modulerc
3565          Modulepath-specific module rc file.
3566
3567       <modulepath>/.modulecache
3568          Modulepath-specific module cache file.
3569
3570       /usr/share/Modules/libexec/modulecmd.tcl
3571          The modulefile interpreter that gets executed upon  each  invocation
3572          of module.
3573
3574       /usr/share/Modules/init/<shell>
3575          The  Modules package initialization file sourced into the user's en‐
3576          vironment.
3577

SEE ALSO

3579       ml, modulefile
3580
3582       1996-1999  John  L.  Furlani  &  Peter  W.  Osel,  1998-2017  R.K.Owen,
3583       2002-2004 Mark Lakata, 2004-2017 Kent Mein, 2016-2022 Xavier Delaruelle
3584
3585
3586
3587
35885.3.1                             2023-06-27                         MODULE(1)
Impressum