If you are a fan of programming with Scheme, then you might like Scsh. Actually the name seems like a bit of a misnomer to me, since:
- Scsh is not a comfortable interactive shell a la bash (though apparently some work is done on one called Commander S; no public release yet though).
- Scsh has more power than shell script because there are functions for opening sockets and such, so it’s probably more comparable to Perl than to Bourne shell.
To give you the flavor of what it looks like, here’s a snippet of awk and the corresponding scsh, which I stole from here:
;;; Copy IN to OUT, prefixing each line with a timestamp, ;;; or, as we say in AWK, ;;; awk '{"date '"'"'+%b %e %T'"'"'" | getline d; ;;; close("date '"'"'+%b %e %T'"'"'"); print d, $0}' ;;; ;;; Quiz: why is the close() necessary? ;;; -Olin ;;; May 1997 (define (add-date in out) (while (not (eof-object? (peek-char in))) (format out "~a ~a\n" (format-date "~b ~d ~H:~M:~S" (date)) ; E.g., "Sep 3 22:43:11" (read-line in))))
Of course the strength of Bourne shell is that it’s on every Unixy machine out there and Scsh is on, well, a few Scheme hackers’ machines.