A better Linux shell? [closed] A better Linux shell? [closed] powershell powershell

A better Linux shell? [closed]


You do realize bash 4 has very recently been released with a load of new features and language additions?

  • Shell options globstar (**/foo) does a recursive search, dirspell fixes typos during pathname expansion.
  • Associative arrays, map strings to strings, instead of just numbers to strings.
  • The autocd shell option allows changing directories by just typing the directory path instead of having to put cd in front.
  • Coprocesses
  • &>> and |& redirection operators that redirect both stdout and stderr
  • Loads of additions to existing builtins for improved scripting convenience.

Check out:


I'd take a look at zsh or fishshell.


One of the least touted features of Bash (and several other shells) is the ability to write your own loadables, and have the shell run them as builtins.

Lets say you write the loadable 'on' .. and you want it to work like this:

on node 123 run some commandon class nodes run some commandon all nodes run some command

... etc ..

You can follow simple examples on how to write a loadable, then enable it as a bash built in via enable -f /path/to/loadable loadable_name

So in our case, enable -f /opt/bash/loadables/on on

... in your bashrc , and you've got it.

So, if you want to have bash interpret your spiffy new language natively, you would write a loadable named 'use' or 'switch_to', then modify the parser to load a different grammar / runtime if a certain environment variable was set.

I.e.:

#/bin/bashswitch_to my-way-cool-languagefunkyfunc Zippy(int p) [[   jive.wassup(p) ]]

Most people are not going to want to hack their shell, however. I did want to point out that facilities exist to take Bash and make it the way you want it, without fiddling too much with core code.

See /path-to-bash-source/examples/loadables, you might be able to get that to fly where you work, since you're still using Bash.