向Emacs中的多个EShell发送命令

3

我希望在启动emacs时启动一些进程,比如在一个eshell中启动一个web服务器,在另一个shell中启动一个weblogic实例,但是每当我尝试向eshell发送命令时,Emacs就会卡住。我已经尝试使用"interactive"命令,但是Emacs仍然会卡住。


“你到底在做什么?”(交互式)更像是一个标志而不是一个真正的命令,如果我没记错的话。 - Ulrich Schwarz
我正在尝试自动化运行我的几个脚本,以便它们可以自动启动。 - yazzapps.com
1个回答

4
(require 'cl)

(defun eshell-run (programs)
  (loop for p in programs for i from 1 do
        (with-current-buffer (eshell i)
          (insert p)
          (eshell-send-input))))

(eshell-run '("program1" "program2"))

编辑:

如果您将以上行添加到您的 init 文件中,当您启动 Emacs 时,最后一行列出的程序将自动执行。


每当我输入“eshell-run”时,都会得到响应“Symbol's function definition is void: eshell-run”。 - yazzapps.com
这段代码应该添加到你的初始化文件(~/.emacs 或 ~/.emacs.d/init.el)中,这样当你启动 Emacs 时它就会自动执行。 - huaiyuan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接