murex Shell Docs

User Guide: Pipeline

Overview of what a "pipeline" is

In the murex docs you'll often see the term "pipeline". This refers to any commands sequenced together.

A pipeline can be joined via any pipe token (eg |, ->, =>, ?). But, for the sake of documentation, a pipeline might even be a solitary command.


Typical murex pipeline:

open: example.json -> [[ /node/0 ]]

Example of a single command pipeline:


Pipeline you might see in Bash / Zsh (this is also valid in murex):

cat names.txt | sort | uniq

Pipeline filtering out a specific error from example-cmd

example-cmd ? grep: "File not found"


A pipeline isn't a murex specific construct but rather something inherited from Unix. Where murex differs is that it can support sending typed information to compatible functions (unlike standard Unix pipes which are dumb-byte streams).

Wikipedia has a page on Pipeline (Unix):

In Unix-like computer operating systems, a pipeline is a mechanism for inter-process communication using message passing. A pipeline is a set of processes chained together by their standard streams, so that the output text of each process (stdout) is passed directly as input (stdin) to the next one. The second process is started as the first process is still executing, and they are executed concurrently. The concept of pipelines was championed by Douglas McIlroy at Unix's ancestral home of Bell Labs, during the development of Unix, shaping its toolbox philosophy. It is named by analogy to a physical pipeline. A key feature of these pipelines is their "hiding of internals" (Ritchie & Thompson, 1974). This in turn allows for more clarity and simplicity in the system.

See Also

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 Fri Sep 10 15:05:25 UTC 2021 against commit 437c274437c274fded54d82e99d70ea7d2917f332c095dd.

Current version is 2.2.1200 BETA which has been verified against tests.