Unix shell scripting
This is a guide for writing Unix shell scripts in various Common Lisp implementations.

roswell is a Lisp implementation installer/manager, script launcher and more. It has many features that makes it easy to test, share, and distribute your Lisp applications.

cl-launch is a self-contained shell-script that will abstract away the details of the underlying Lisp implementation by generating the proper Lisp and shell code. Access to command line arguments, quitting, etc., can then be done portably using uiop or clon. For instant startup of all your scripts, you'll probably want to dump a multicall binary image, which you can do using cl-launch and roswell. See Common Lisp as a Scripting Language, 2015 edition.

If you insist on doing things manually and not portably, here is some information for invoking Lisp source files as shell scripts for a few particular Common Lisp implementations:

Implementation Shebang invocation Command-line arguments More info
CLISP #!/usr/local/bin/clisp EXT:*ARGS* CLISP quickstart delivery
ECL #!/usr/local/bin/ecl -q -norc -shell (si:argc), (si:argv N) ecl(1) manual page
GCL #!/usr/local/bin/gcl -f si:*command-args* gcl(1) manual page
SBCL #!/usr/local/bin/sbcl --script sb-ext:*posix-argv* SBCL manual section 3.1.3
npt #!/usr/local/bin/npt --script npt::*arguments* npt documentation, section 3.3

Other topics: deployment