Code Quality Rank: L4
Programming language: JavaScript
License: MIT License
Tags: Command Line Apps     Util     Terminal     CLI     Tty     Vorpal.js     Vorpal     Cash     Bash     Shelljs     Shell     Posix     Unix     Linux     Windows     Cygwin     Emulator    

Cash alternatives and similar modules

Based on the "Command Line Apps" category.
Alternatively, view Cash alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Cash or a related project?

Add another 'Command Line Apps' Module



Cross-platform Linux commands in pure ES6

Build Status Windows Build Status Coverage Status Gitter XO code style

Cash is a cross-platform implementation of Unix shell commands written in straight ES6. No native compiling and no external dependencies.

While young, Cash aims to offer an alternative Linux feel on Windows and to open the door to cross-platform bash scripting in a Javascript environment.

> npm install cash -g
> cash


Yeah. But it gets better.

Let's mix some Windows & Unix commands together:

$ ipconfig | grep IPv4 | sort
IPv4 Address. . . . . . . . . . . :
IPv4 Address. . . . . . . . . . . :

Learn more

But I don't want to type "cash"

No problem. Let's make all commands global on your system:

> npm install cash-global -g
> ls -lah

Learn more

Nice, but I only want certain commands

You're covered!

> npm install cash-ls -g
> npm install cash-grep -g

Learn more

Wow. But I want this programmatically!

Again, you're in business:

const $ = require('cash');
const out = $.ls('.', {l: true});

Not terse enough? How about this:

const out = $('ls -lah');

Not :sunglasses: enough? Try this:

require('cash') `
  cp -R ./src ./dest
  ls | grep *-spec.js | cat
  rm ./specResults.html 

For even better programmatic Unix commands, check out ShellJS.

Learn more

Isn't this impossible to do in Node?

It was, before Vorpal.

Made with ❤ by dthree.

Love it? Give it a :star: or a tweet to help spread the word!


This is now an OPEN Open Source project. I am not able to invest a significant amount of time into maintaining Cash and so am looking for volunteers who would like to be active maintainers of the project. If you are interested, shoot me a note.



Cash is a project working on a cross-platform implementation of the most used Unix-based commands in pure JavaScript and with no external dependencies.

The goal of Cash is to open up these commands to the massive JavaScript community for the first time, and to provide a cleaner, simpler and flexible alternative to applications like Cygwin for those wanting the Linux feel on Windows.

Cash was built with strict attention to nearly exact implementations and excellent test coverage of over 200 unit tests.

Supported commands

The following commands are currently implemented:

  • alias
  • cat
  • clear
  • cd
  • cp
  • echo
  • export
  • false
  • grep
  • head
  • kill
  • less
  • ls
  • mkdir
  • mv
  • pwd
  • rm
  • sort
  • source
  • tail
  • touch
  • true
  • unalias

Want more commands?


Want to configure things to your heart's content? Just add your configurations in a .cashrc file (_cashrc also works, for Windows folk) and put that in your home directory. This supports anything you can do inside a cash command prompt (exporting environmental variables, aliases, etc.).


We are currently looking for Core Team members who can push forward Cash at a rapid rate. Are you an awesome developer up to the challenge? Send me a ping.

Awesome contributors

  • @nfischer: Added source, export, true and false commands, among several other contributions.
  • @safinn: Added clear and tail commands.
  • @legien: Added head command.
  • @cspotcode: Implemented template literal execution.


Why Cash?

In its very essence, Cash replaces the Windows CLI prompt (>) with the Unix one ($), the dollar symbol.

Cash was most fitting in this sense:

Ask and ye shall receive

> cash

Cash is also a play on the word bash, and is actually[1] a recursive acronym for Cash Shell.

Shout out to @aseemk for donating the name.

Doesn't ShellJS do this?


For those who don't know, ShellJS is an awesome Node package that implements UNIX shell commands programatically in JavaScript. Check it out - really. While ShellJS was tremendously helpful in figuring out how to accomplish Cash, the two do not really conflict.

ShellJS gives the feel of UNIX commands in a code environment, but aims to implement the commands in a way that makes sense for a JavaScript library. This means that many commands return JavaScript objects, and some of the rougher and more dangerous edges of bash have been softened a bit.

For example, with cash:

$('ls'); // 'node_modules\n'

$('echo foo > foo.txt');

With ShellJS:

ls(); // ['node_modules'];



David Caccavella Nate Fischer
David Caccavella Nate Fischer

Want to join the team? Let us know.


MIT © David Caccavella

*Note that all licence references and agreements mentioned in the Cash README section above are relevant to that project's source code only.