【发布时间】:2012-08-13 08:57:59
【问题描述】:
我有一系列使用这种语法的系统调用:
(call-process "/bin/sh" nil nil t "-c" command)
command 是 shell 命令。我想知道当我在commands.el 文件中有这些系统调用并使用emacs --script commands.el 调用它时,是否有办法打印输出。目前,命令已执行,但所有输出似乎都被捕获而不是打印。
【问题讨论】:
-
输出通常收集在当前缓冲区中,但您已指定通过将
nil作为第三个参数将其丢弃。您也可以通过此参数指定不同的缓冲区。 -
我必须在临时缓冲区中捕获它然后打印缓冲区吗?我为第三个参数尝试了
t,但也没有打印出来(不确定作为脚本运行时的“当前缓冲区”是什么)。 -
这听起来像是一个可行的解决方案,是的。如果您的会话在任何时候都没有设置缓冲区,我猜当前缓冲区最终将成为
*scratch*缓冲区。 (更新:已确认。)其中包含一些 cmets,因此最好在开始时创建一个新的空缓冲区。