CJSH, a Python-powered Linux / Unix / Mac Shell

TL;DR

curl http://CJSHayward.com/wp-content/cgi/download-cjsh.cgi > ~/bin/cjsh && chmod 0755 !#:3

What is cjsh/CJSH?

View on Github

cjsh, developed by CJSH (Christos Jonathan Seth Hayward) is an experimental Unix/Linux command-line shell, designed to search for files for the user instead of making the user search through directory heirarchies manually, and allow much of the power of Python as its command-line scripting language.

It can be downloaded, as in the TL;DR section above, and can be initialized (this takes some time, but it pays off in usage), by running:

dev ~/directory $ cjsh --update
Creating image of file heirarchy; please wait.
This may take some time; it may be worth the wait (but sorry...)
Note that the following works well in nightly crontab:

    cjsh --update --silent

The image is complete. You are free to use cjsh.
dev ~/directory $ cjsh
One moment, please; trying to load data...
Loaded.
Welcome to cjsh. Please visit CJSHayward.com! Hit '?' for help.
--
user @ dev.localdomain - Tue Oct  2 17:00:43 2012
/Users/user
cjsh> [TAB] for index in range(10):
----> echo %(index)d
----> 
0
1
2
3
4
5
6
7
8
9
user @ dev.localdomain - Tue Oct  2 17:02:24 2012
/Users/user
cjsh> 

Those echo statements are not built into the (cjsh) shell. They come from an os.system() statement, and it is possible in this way to interleave shell commands and Python, with Python variables accessible to the shell commands, at least at a basic level.

What are you waiting for? Try it!

License: This project is free software, available under your choice of the MIT and GPLv2 licenses. If you like this software, you are invited to consider linking to CJSHayward.com.