(this text is taken directly from the description of the Debian package of SCSH)
Scsh has a high-level process notation for doing shell-script like tasks: running programs, establishing pipelines and I/O redirection. Scsh embeds this process notation within a full implementation of Scheme, a minimal and clean dialect of the Lisp programming language. The process notation is realized as a set of macro definitions, and is carefully designed to allow full integration with standard Scheme code. Scsh isn't Scheme-like; it is Scheme.
At the scripting level, scsh also has an Awk design, also implemented as a macro that can be embedded inside general Scheme code.
Scsh additionally provides the low-level access to the operating system normally associated with C. The current release provides full access to POSIX, plus important non-POSIX extensions, such as complete sockets support. "Complete POSIX" means: fork, exec & wait, sockets, full read, write, open & close, seek & tell, complete file-system access, including stat, chmod/chgrp/chown, symlink, FIFO & directory access, tty & pty support, file locking, pipes, select, file-name pattern-matching, time & date, environment variables, signal handlers, and more.