Create an alias for a command
alias defines an alias for global usage
alias: alias=command parameter parameter !alias: command
Because aliases are parsed into an array of parameters, you cannot put the entire alias within quotes. For example:
# bad :( » alias hw="out Hello, World!" » hw exec: "out\\ Hello,\\ World!": executable file not found in $PATH # good :) » alias hw=out "Hello, World!" » hw Hello, World!
Notice how only the command
out "Hello, World!" is quoted in
alias the same way you would have done if you’d run that command “naked” in the command line? This is how
alias expects it’s parameters and where
alias on murex differs from
alias in POSIX shells.
In some ways this makes
alias a little less flexible than it might otherwise be. However the design of this is to keep
alias focused on it’s core objective. For any more advanced requirements you can use a
Alias names can only include alpha-numeric characters, hyphen and underscore. The following regex is used to validate the
Like all other definable states in murex, you can delete an alias with the bang prefix:
» alias hw=out "Hello, World!" » hw Hello, World! » !alias hw » hw exec: "hw": executable file not found in $PATH
There is an order of precedence for which commands are looked up:
runmode: this is executed before the rest of the script. It is invoked by the pre-compiler forking process and is required to sit at the top of any scripts.
pipefunctions also alter the behavior of the compiler and thus are executed ahead of any scripts.
private. Private’s cannot be global and are scoped only to the module or source that defined them. For example, You cannot call a private function directly from the interactive command line (however you can force an indirect call via
alias. All aliases are global.
function. All functions are global.
let. Also environmental variables too, declared via
@g. This is largely a deprecated feature, replaced with a smarter auto-globbing parser that can be enabled via
config: set shell auto-glob true.
You can override this order of precedence via the
exec: Runs an executable
export: Define an environmental variable and set it’s value
fexec: Execute a command or function, bypassing the usual order of precedence.
function: Define a function block
g: Glob pattern matching for file system objects (eg
global: Define a global variable and set it’s value
let: Evaluate a mathematical function and assign to variable
method: Define a methods supported data-types
private: Define a private function block
set: Define a local variable and set it’s value
source: Import murex code from another file of code block
This site's content is rebuilt automatically from murex's source code after each merge to the
master branch. Downloadable murex binaries are also built with the website.
Last built on Thu Oct 13 08:08:18 UTC 2022 against commit ed6b6fced6b6fc609f4be93c5d3348695a762facfecf48f.
Current version is 2.11.2200 which has been verified against 16798 tests cases.