This is a major release that brings a significant number of changes and improvements, including a complete overhaul of the parser. Backwards compatibility is a high priority however these new features bring greater readability and consistency to shell scripting. So while the older syntax remains for compatibility, it is worth migrating over to the newer syntax for all new code being written
bson
. This was disabled by
default and likely never used. So it has been removed to reduce Murex’s
testing footprint. It can easily be re-added if anyone does actually use
itcoreutils
. This was
actually enabled by default for Windows builds. However rewriting
Linux/UNIX coreutils for Windows support is a massive project in its own
right and with the maturity of WSL there’s almost no reason to run Murex
on “native Windows”. So the coreutils
builtin has been
dropped to allow us to focus on the responsibilities of the
shell5 * 5
or
foobar = $foo + "bar"
, etc. This syntax can be used
directly or specified specifically via the expr
builtin%{ foo: bar }
%[ foo bar ]
%()
(this is
preferred over the, now deprecated, feature of parenthesis
quotes)[]
(@[
is now
deprecated)/# comment #/
. It is
unfortunate this differs from C-style comments
(/* comment */
) but this has to be the case because
/*
is ambiguous for barewords in shells: is it a path and
glob or a comment? Where as /#
isn’t a common term due to
#
denoting a commentnull
as a data type across the
pipe, it will be ignored. This solves the problem where functions that
don’t write to stdout would still define the data typeconfig
@g
removed. It is no longer needed with
expand-glob enabled by defaultcontinue
: skip subsequent processes in
an iteration block and continue to next iterationbreak
: exit out of a block of code (eg
in an iteration loop)[
):
*1
: 1st row, *A
: 1st columnhelp
-> murex-docs
. This
brings Murex a little more inline with Bash et al^
autocompletion addedgetfile
writes to disk if stdout is a TTYja
) now writes an
integer array if range is integers. eg ja: [1..3]
. This
change wouldn’t affect a
since that outputs as list of
strings (for streaming performance reasons) rather than a data type
aware documentdebug
(method) output tweakedReadArray
API now requires a
context.Context
egrep
references changed to grep -E
to
work around GNU grep deprecating support for egrepboolean
,
null
Variables.GetValue()
now errors instead of returns
nil
when no variable setregexp
wasn’t erroring if nothing was
matchedappend
and prepend
now type aware (no
longer converts all arrays into string arrays)foreach
was setting variables as strings rather than
honoring their original data typeyarn
autocompletion errors should be
suppressedbreak
causing more occasionally
incorrect instances of underlined wordsconfig
wasn’t passing data type when executing
blocks via evaldebug
wasn’t setting data type when used as a
functionPublished: 31.12.2022 at 08:10
append
): Add data to the end of an arrayja
):
A sophisticated yet simply way to build a JSON arraygetfile
): Makes a standard HTTP request and return the
contents as Murex-aware data type for passing along Murex
pipelines.break
):
Terminate execution of a block within your processes scopeexpr
):
Expressions: mathematical, string comparisons, logical operators[ ..Range ]
: Outputs a ranged subset of data from
stdinforeach
): Iterate through an arraymurex-docs
): Displays the man pages for Murex
builtinscontinue
): Terminate process of a block within a
caller functionprepend
): Add data to the start of an arrayregexp
): Regexp tools for arrays / lists of
stringsconfig
): Query or define Murex runtime settingsa
): A
sophisticated yet simple way to stream an array or list (mkarray)This document was generated from gen/changelog/v3.0_doc.yaml.
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 Wed Jan 15 23:07:50 UTC 2025 against commit b4c4296b4c429617fd41527ea0efef33c52c15ef2b64972.
Current version is 6.4.2063 (develop) which has been verified against tests cases.