如果您想自己构造示例(这就是我从您的问题中得到的结果,但是如果我错了,请纠正我),请使用一个EXAMPLE块而不是一个SRC块:
#+BEGIN_EXAMPLE
$ ls
dir1
dir2
file1
file2
...
#+END_EXAMPLE
导出为HTML时,此块变为:
<pre class="example">
$ ls
dir1
dir2
file1
file2
...
</pre>
如您所见,导出块的内容与原始EXAMPLE块的内容完全相同。
如果您实际上想运行一个或多个命令来动态产生输出并将这些命令和结果都包含在HTML文档中,则需要将代码SRC块修改为如下所示:
#+BEGIN_SRC sh :exports both
ls
#+END_SRC
如果输出ls命令包括您在您的示例中列出的目录和文件(dir1,dir2,file1,file2),这将出口到:
<div class="org-src-container">
<pre class="src src-sh">
ls
</pre>
</div>
<table>
<colgroup>
<col class="left" />
</colgroup>
<tbody>
<tr>
<td class="left">dir1</td>
</tr>
<tr>
<td class="left">dir2</td>
</tr>
<tr>
<td class="left">file1</td>
</tr>
<tr>
<td class="left">file2</td>
</tr>
</tbody>
</table>
如您所见,代码本身包装在代码块中,结果列在表中。
请注意,您将需要sh通过以下方式显式启用对代码块的支持:
(require 'ob-sh)
(org-babel-do-load-languages 'org-babel-load-languages '((sh . t)))
这是因为在默认情况下组织巴贝尔只允许为Emacs Lisp代码块的支持(如解释在这里)。
ob,我还有另外两个问题1:是否built-in shortcut可以插入一对BEGIN_EXAMPLE,比如<s then TAB插入除以BEGIN_EXAMPLE定义片段yasnippet?2:org-html-handle-links: Wrong type argument: stringp, nil更改后我得到了错误消息,BEGIN_EXAMPLE但仅此而已,我的组织文件中的链接肯定有问题,其中有很多,我如何使之org-export显示更多详细信息,例如导出失败时出现的行号错误??