GNU Emacs Lisp Reference Manual
The command line option -batch causes Emacs to run
noninteractively. In this mode, Emacs does not read commands from the
terminal, it does not alter the terminal modes, and it does not expect
to be outputting to an erasable screen. The idea is that you specify
Lisp programs to run; when they are finished, Emacs should exit. The
way to specify the programs to run is with -l file, which
loads the library named file, and -f function, which
calls function with no arguments.
Any Lisp program output that would normally go to the echo area,
either using message or using prin1, etc., with t
as the stream, goes instead to Emacs's standard error descriptor when
in batch mode. Thus, Emacs behaves much like a noninteractive
application program. (The echo area output that Emacs itself normally
generates, such as command echoing, is suppressed entirely.)
nil when Emacs is running in batch mode.