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