tags:

views:

819

answers:

5

Has anyone ever heard of a UNIX shell written in a reasonable language, like Python?

+3  A: 

Well, there's emacs, which is arguably a shell written in lisp :)

Seriously though, are you looking for a reimplementation of an existing shell design in a different language such as Python? Or are you looking for a new implementation of a shell language that looks similar to your language of choice?

Greg Hewgill
emacs is an OS.
grawity
+8  A: 

iPython (Python) and Rush (Ruby) are shells that are designed for more advanced languages. There's also Hotwire, which is sort of a weird integrated shell/terminal emulator.

John Millikin
Thanks, I didn't know about Rush. I might need to learn Ruby (or re-implement it in Python).
skymt
Rush does look nifty, I'll have to install that and give it a try.
stimms
+3  A: 

Tclsh is pretty nice (assuming you like Tcl, of course).

Mark Bessey
Well, I'm a philistine about Tcl. You can keep it.
dmckee
+16  A: 
  • Eshell is a Bash-like shell in Emacs Lisp.
  • IPython can be used as a system shell, though the syntax is a bit weird (supporting all of Python plus basic sh constructs).
  • fish has a core written in C, but much of its functionality is implemented in itself. Unlike many rare shells, it can be used as your login shell.
  • Hotwire deserves another mention. Its basic design appears to be "PowerShell in Python," but it also does some clever things with UI.
  • Zoidberg is written in Perl and uses Perl syntax. A nice-looking project, shame it seems to have stalled.
  • Scsh would be a pain to use as a login shell (an example command from the docs: (run/strings (find "." -name *.c -print))), but it looks like a good "Perl in Scheme."
skymt
+3  A: 

From all appearances, Python IS a shell. It runs with #! and it can run interactively. Between the os and shutil packages you have all of the features of standard Unix shells.

Since you can do anything in Python with simple, powerful scripts, you don't really need to spend any time messing with the other shells.

S.Lott