Hamilton Laboratories

Hamilton C shell 2012

Oregon Coast

The ultimate C shell for Windows

Personal use license

Commercial license

Hamilton C shell™ is a complete Unix shell environment for Windows, including all the important utilities, mv, cp, rm, more, grep, fgrep, head, tail, diff, sed, cron, tar and so on.  There’s even a real chown, a real su (super user) and a sudo alias to run a command elevated.  And everything works under every version of Windows ever made, including the latest, Windows 10 and 11.

Everything in the original C shell, plus ...

Hamilton C shell recreates everything in Bill Joy’s brilliant Berkeley C shell, starting with a language that’s prettier and more like C than anything based on the older Bourne shell syntax.  We’ve also recreated all the original C shell’s interactive features that made it so delightful, including history and command and filename completion.

Hamilton C shell brings all that to life on Windows with a completely fresh implementation, every line of code created from scratch.

Designed specifically for Windows

Hamilton C shell is the only Unix shell specifically designed for Windows and the Win32 API, not merely ported in from somewhere else.  So it’s still the only one that understands the Windows file system, all the rest of the conventions on Windows and how to use threads.

Under the hood

Under the hood, we’ve used a modern optimizing compiler architecture coupled to a multithreaded execution unit.  A top-down recursive descent parser guarantees no quirks, no matter how complex the statement or the script.  If it makes sense to pipe one thing into another or nest one thing inside another, it works.  For example, piping a foreach into a grep or putting a foreach inside a command substitution or running a foreach in the background all work just fine.

Hamilton C shell is also a lot more forgiving of how commands are typed.  Filenames can have either \ or / slashes.  Operators can have spaces around them or not.  Variable names don’t need dollar signs when the context is obviously an expression.  Whole command structures can be typed on a single line.

New language features

Hamilton C shell extends the language with block-structured local variables, floating point arithmetic and user-defined and builtin procedures.  There’s even a printf and a complete math library.

The new indefinite directory wildcard construct uses an elipsis to match any number of directory levels.  For example, “...\hello.c” matches any hello.c file in the current directory or any subdirectory.

A new command substitution (using double backquotes) finally solves the filenames-with-spaces problem by parsing into words at line-ends.

The utilities

As with the C shell itself, all of the utilities have been written from scratch for Windows.  So they do sensible things on Windows.  Our more is the best more you’ve ever seen.  The core file system utilities, including ls, mv, cp, rm, chmod and chown, all understand the new Windows extended-length paths of up to 32K characters.

Great online help

We’ve completely revised all our documentation to be much more attractive and easy to use.  From the C shell, press F1 and your browser opens to the hypertext user guide, but on your own machine, where it’s instantaneous.

All My Devices™ Personal use license $89

We’ve added a new personal use provision to our license we call All My Devices: One license covers all your personal devices, your desktop machine, your laptop and anything else you personally own for personal use. And since we know you’re paying out of your own pocket for personal use, we’ve made it super cheap. If that’s still not affordable, talk to us; we may be able to help.

Commercial license $249

Our commercial license is an ordinary one machine per license arrangement for business use or if either the license or the device is not personally owned or not for personal use. It’s the same license we’ve offered for 25 years, but we’ve reduced the price by almost 1/3.

Completely bulletproof

Completely bulletproof.  Will not crash, will not hang.  Ever.  Runs on any 32 or 64-bit version of Windows ever made.  Still the fastest.  Still the best.

Unconditional satisfaction guarantee.

See also

Language reference
Builtin procedures
Builtin utilities
External utilities
Predefined aliases
Sample scripts

64-bit Hamilton C shell on 64-bit Windows 7

64-bit Hamilton C shell 2012 on 64-bit Windows 7 Ultimate.  Shown here are simple factor and whereis scripts and the on-line help for the su (super user) utility.  The Hamilton more utility is the best more ever made.

Hamilton C shell is digitally signed

We wrote every line of code in Hamilton C shell and we sign our work. For your security, all our executables and install files are digitally signed.

Hamilton C shell is digitally signed

If the install file is really ours and not been tampered with, the installer will confirm we’re the verified publisher.

Su to other user ids on the same Windows 7 desktop

Su (super user) allows commands to be run as other user ids and knows how to pass current directories, environment variables and long argument lists.  (There’s no UAC prompt to run as another user, only to run elevated.)

Sudo allows elevation

The sudo alias for su runs a command elevated, causing the UAC popup (as it should, any time you elevate, not just run as a different user id under Windows 7), confirming our digital signature.

Sudo allows elevation

Sudo also knows how to pass the current directories, environment variables and a long argument list.

Watch a demonstration by the author.