bash-core VS murex

Compare bash-core vs murex and see what are their differences.

bash-core

Core functions for any Bash program. (by bash-bastion)

murex

A smarter shell and scripting environment with advanced features designed for usability, safety and productivity (eg smarter DevOps tooling) (by lmorg)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
bash-core murex
2 55
3 1,370
- -
3.2 9.6
7 months ago 4 days ago
Shell Go
Mozilla Public License 2.0 GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

bash-core

Posts with mentions or reviews of bash-core. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-31.
  • I'd like your opinion on my choice of Bash for data manipulation/cleaning and some stats
    1 project | /r/bash | 14 Feb 2023
    Error handling is also atrocious. Doing set -e fixes some issues, but there are plenty of valid cases in which one of your commands will have an error, and your script will continue execution like nothing ever happened. And, in the case of an error, as I'm sure you have realized, diagnostics are absolutely terrible. You're extremely lucky to get a line number (which I think was only added since Bash 5.1), but that's it. If you want anything more, like a stacktrace, you're stuck in the water. I have developed a library, bash-core, to help with this, but the stacktrace handling acts unexpectedly if there are errors within subshells.
  • Bash functions are better than I thought
    23 projects | news.ycombinator.com | 31 Oct 2021
    I'm quite happy to see that something Bash-related is on Hacker News! Unfortunately it seems that I don't really agree with much the author...

    While I do agree that it would be nice to be able to have 'local' functions and have inter-function cleanup work better, the logical conclusion for me was not to use function subshells. Since the use case is for larger programs (where different functions may want to have their own cleanup mechanisms), I'm opting to go for more of a library route. For example, I'm working on a Bash library that includes a function to allow different sources to add (and remove) functions to the same `TRAP`. A similar function may be useful, possibly involving the `RETURN` trap and the `-T` flag. Obviously, using a package manager for _Bash_ of all languages brings in a lot of overhead, but I think it can be quite powerful, especially with a potential "Bundle" feature that makes scripts work without the package manager.

    Concerning specifically the use of subshells, (as other commenters have pointed out) it significantly reduces performance. I also disagree that dynamic scoping is necessarily bad for Bash. I find it quite useful when I need to use various common functions to manipulate a variable - since modifying and 'returning' variables from a function is usually either slow or verbose with Bash. Admittedly though, this feature is quite annoying at times - for example, most public functions in my Bash package manager[2] all have their variables prefixed with two underscores - because they `source` all the shell scripts of all package dependencies - so I want to be extra certain nothing weird happens

    [1] https://github.com/hyperupcall/bash-core/blob/a17ab0a8b6070f...

murex

Posts with mentions or reviews of murex. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-16.
  • Show HN: a Rust Based CLI tool 'imgcatr' for displaying images
    12 projects | news.ycombinator.com | 16 Apr 2024
    This is how murex works too https://github.com/lmorg/murex/blob/master/config/defaults/p...
  • Xonsh: Python-powered, cross-platform, Unix-gazing shell
    12 projects | news.ycombinator.com | 14 Feb 2024
  • The Bun Shell
    17 projects | news.ycombinator.com | 20 Jan 2024
    I agree. I’ve written about this before but this is what murex (1) does. It reimplements some of coreutils where there are benefits in doing so (eg sed, grep etc -like parsing of lists that are in formats other than flat lines of text. Such as JSON arrays)

    Mutex does this by having these utilities named slightly different to their POSIX counterparts. So you can use all of the existing CLI tools completely but additionally have a bunch of new stuff too.

    Far too many alt shells these days try to replace coreutils and that just creates friction in my opinion.

    1. https://murex.rocks

  • Jaq – A jq clone focused on correctness, speed, and simplicity
    28 projects | news.ycombinator.com | 29 Nov 2023
    This is exactly what Murex shell does. It has lots of builtin tools for querying structured data (of varying formats) but also supports POSIX pipes for using existing tools like `jq` et al seamlessly too.

    https://murex.rocks

  • Murex rocks v5 is out
    1 project | news.ycombinator.com | 7 Sep 2023
  • The Case for Nushell
    7 projects | news.ycombinator.com | 30 Aug 2023
    Stable is a problem because a lot of these shells don’t offer any guarantees for breaking changes.

    My own shell, https://github.com/lmorg/murex is committed to backwards compatibility but even here, there are occasional changes made that might break backwards compatibility. Though I do push back on such changes as much as possible, to the extent that most of my scripts from 5 years ago still run unmodified.

  • Murex
    1 project | /r/devopspro | 23 Jun 2023
  • FLaNK Stack Weekly for 20 June 2023
    34 projects | dev.to | 20 Jun 2023
  • Show HN: A smarter Unix shell and scripting environment
    1 project | /r/hypeurls | 13 Jun 2023
  • Nushell.sh ls – where size > 10mb – –sort-by modified
    7 projects | news.ycombinator.com | 12 Mar 2023
    This is similar to how my shell works. It still just passes bytes around but additionally passes information about how those bytes could be interpreted. A schema if you will. So it works as cleanly with POSIX / GNU / et al tools as it does with fancy JSON, YAML, CSV and other document formats.

    It basically sits somewhere between Powershell and Bash: typed pipelines like Powershell but without sacrificing familiarity with all the CLI commands you already use day in and day out.

    https://github.com/lmorg/murex

    As an aside, I’m about to drop a massive update in the next few days that will make the shell even more intuitive to use.

What are some alternatives?

When comparing bash-core and murex you can also consider the following projects:

nsd - NGS Scripts Dumpster

elvish - Powerful scripting language & Versatile interactive shell

bash-object - Manipulate heterogenous data hierarchies in Bash.

nushell - A new type of shell

hasura-ci-cd-action

tidy-viewer - 📺(tv) Tidy Viewer is a cross-platform CLI csv pretty printer that uses column styling to maximize viewer enjoyment.

bash2048 - 2048 in bash

fx - Terminal JSON viewer & processor

lsofer - script to match similar functionality to lsof -i, and then some.

jc - CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts.

basalt - The rock-solid Bash package manager.

xonsh - :shell: Python-powered, cross-platform, Unix-gazing shell.