Skip to content

How to run some Emacs Lisp code in batch mode?

â—‰ tony@tony:~/minibuffer:
$ emacs --batch
â—‰ tony@tony:~/minibuffer:
$ emacs --batch --eval '(+ 1 1)'
â—‰ tony@tony:~/minibuffer:
$ emacs --batch --eval '(message "%s" (+ 1 1))'
2
â—‰ tony@tony:~/minibuffer:
$ emacs --batch --eval '(message "%s" (+ 1 1))' 2>err
â—‰ tony@tony:~/minibuffer:
$ cat err
2
â—‰ tony@tony:~/minibuffer:
$ emacs --batch --eval '(princ (+ 1 1))'
2â—‰ tony@tony:~/minibuffer:
$ emacs --batch --eval '(princ (+ 1 1))' 2>err
2â—‰ tony@tony:~/minibuffer:
$ emacs --batch --eval '(princ (read-string ""))'
^Câ—‰ tony@tony:~/minibuffer:
$ echo foo | emacs --batch --eval '(princ (read-string ""))'
foo