启发了Stack Overflow问题
Idomatic batch processing of text in Emacs?我尝试了一个Emacs的shell脚本,其标题如下:
#!/usr/bin/emacs --script
我放了一些Emacs Lisp代码,并将其保存为文本文件rcat。
由于–script选项不会阻止加载site-start文件,所以我有很多
Loading /etc/emacs/site-start.d/20apel.el (source)... Loading /etc/emacs23/site-start.d/35elib-startup.el (source)... Loading /etc/emacs23/site-start.d/50auctex.el (source)...
消息在Bash shell(stdout)中。我可以通过调用来阻止它
rcat --no-site-file
要么
rcat -Q
但不是通过改变脚本中的标题:
#!/usr/bin/emacs --script --no-site-file
有没有办法将其他选项传递给这样的脚本文件中的Emacs,而不是稍后在命令行中执行?
您可以随时将#!/ usr / bin / emacs更改为#!/ home / thorsten / bin / emacs-no-site-file等内容,并将其设置为:
#!/bin/sh exec /usr/bin/emacs --no-site-file "$@"
如果这不适合你,或者如果你希望你的脚本是可移植的,那么看到Gilles’ answer below更加强大(稍微有趣)的方法。