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
[ ..Range ]
: Outputs a ranged subset of data from stdina
(mkarray): A sophisticated yet simple way to build an array or listappend
: Add data to the end of an arraybreak
: Terminate execution of a block within your processes scopeconfig
: Query or define Murex runtime settingscontinue
: Terminate process of a block within a caller functionexpr
: Expressions: mathematical, string comparisons, logical operatorsforeach
: Iterate through an arraygetfile
: Makes a standard HTTP request and return the contents as Murex-aware data type for passing along Murex pipelines.ja
(mkarray): A sophisticated yet simply way to build a JSON arraymurex-docs
: Displays the man pages for Murex builtinsprepend
: Add data to the start of an arrayregexp
: Regexp tools for arrays / lists of stringsThis 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 Thu Aug 15 14:38:34 UTC 2024 against commit 50ed9d650ed9d6df391240d3c2c02e623636e508dfcdad1.
Current version is 6.2.4000 which has been verified against tests cases.