1997-07-15 13:45:34 +00:00
|
|
|
Scsh is a Unix shell in that is has significant syntax extensions to
|
1997-01-03 00:37:20 +00:00
|
|
|
make writing Unix shell scripts easy (constructing pipelines, setting
|
|
|
|
I/O redirection, conditional execution etc.). It also offers access to
|
|
|
|
lower-level functionality like all Posix system calls, TCP/IP sockets
|
1997-07-15 13:45:34 +00:00
|
|
|
and a full-featured regular expression library. This is embedded into
|
|
|
|
a general-purpose programming language with real data types,
|
|
|
|
extensive, syntactically clean control constructs and "real" quoting
|
|
|
|
rules.
|
1997-01-03 00:37:20 +00:00
|
|
|
|
|
|
|
Scsh is also a full implementation of R4RS Scheme with some
|
1997-07-15 13:45:34 +00:00
|
|
|
non-standard behavior (required for scripting). As a result, a wide
|
1998-12-02 23:50:37 +00:00
|
|
|
varity of exiting Scheme code can be used. The underlying Scheme
|
|
|
|
implementation is a virtual machine for compact byte code.
|
1997-01-03 00:37:20 +00:00
|
|
|
|
1997-07-15 13:45:34 +00:00
|
|
|
The name of the installed program is "scsh", the manpage is scsh(1),
|
1998-12-02 23:50:37 +00:00
|
|
|
other documentation is in (/usr/local/)lib/scsh/doc. To load slib,
|
|
|
|
install slib into /usr/local/lib/slib and run (load "slib-init.scm")
|
|
|
|
in scsh. It requires no additional setup (paths or such). The emacs
|
|
|
|
interface is in the original distribution in emacs/. For documentation
|
|
|
|
see doc/user-guide.txt.
|
1997-01-03 00:37:20 +00:00
|
|
|
|
|
|
|
Differences between FreeBSD port and generic scsh release:
|
|
|
|
----------------------------------------------------------
|
|
|
|
|
|
|
|
1) When hitting C-d (end-of-file), scsh asks 100 times for
|
1998-12-02 23:50:37 +00:00
|
|
|
confirmation. I changed the default to do this just once. Set constant
|
1997-01-03 00:37:20 +00:00
|
|
|
*y-or-n-eof-count* in scsh/rw.scm to change it.
|
|
|
|
|
1997-07-15 13:45:34 +00:00
|
|
|
2) The original scsh sends a mail to the scsh authors every time you
|
1997-01-03 00:37:20 +00:00
|
|
|
make the package. The FreeBSD port doesn't. The authors of scsh would
|
|
|
|
appreciate it if you do a `(cd work/scsh-0.4.4 && make .notify)` after
|
|
|
|
you build this package.
|
|
|
|
|
|
|
|
3) A symbolic link ${PREFIX}/share/doc/scsh to the documentation is
|
|
|
|
created.
|
|
|
|
|
|
|
|
4) Some basic description text files from the distribution base dir
|
|
|
|
are copied to lib/doc. The emacs directory is copied into
|
|
|
|
lib/scsh/emacs. scsh's default is not to install these files.
|
|
|
|
|
|
|
|
5) Some /usr/tmp -> /var/tmp
|