ref: 9ca327dd06c30341d984bff84727ea451b428db7
dir: /man/1/sh-mload/
.TH SH-MLOAD 1 .SH NAME mload, munload \- namespace separation for shell modules .SH SYNOPSIS .B load mload .B mload .I name [ .IR path ... ] .br .B munload .I name [ .IR path ... ] .br .SH DESCRIPTION .I Mload is a loadable module for .IR sh (1) that allows the simultaneous use of shell modules with potentially clashing command name spaces. .B Mload creates a new namespace .I name and loads each .I path as a builtin module in the same way as .B load (see .IR sh (1)). Any commands or substitution builtins defined by the modules are accessible by giving the command and its arguments as arguments to the .I name command. .PP .B Munload unloads a module from the namespace .IR name . If no modules remain in the namespace, .I name is undefined as a command. .SH EXAMPLE Load .I mpexpr in a different namespace from .I expr (see .IR sh-expr (1)): .EX load expr mload mp mpexpr echo ${expr 1 2 +} echo ${mp expr 2 300 xx} .EE .SH SOURCE .B /appl/cmd/sh/mload.b .SH SEE ALSO .IR sh (1), .SH BUGS Because of the way shell modules are implemented, the namespaces are global across all processes that share an instance of .IR mload .