27

我看到引用和使用的示例

#+BEGIN_SRC bash

但是在我的org模式版本(elpa,org 20150316)的菜单中customize-variable org-babel-load-languages,没有“bash”项,只有shell。尝试评估代码,例如

#+BEGIN_SRC bash
ls -l
#+END_SRC

我明白了

org-babel-execute-src-block:bash 没有 org-babel-execute 函数!

我错过了什么?

谢谢。

4

4 回答 4

26

对我来说,我做到了

(require 'package)
(add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t)

http://orgmode.org/elpa.html所示,以确保我拥有最新的 Org 版本(vanilla Emacs 附带其自己的 Org 版本)。然后我在org完成后以交互方式安装了包M-x list-packages。那我可以做

(org-babel-do-load-languages 'org-babel-load-languages
    '(
        (shell . t)
    )
)

这允许#+BEGIN_SRC bash.

于 2016-10-05T10:58:34.947 回答
5

查看org-babel-sh-command(默认为“sh”)的值,并且只使用“sh”作为语言。

于 2015-03-20T12:40:05.907 回答
4

它似乎bashshell标识符所覆盖。

因此,您必须在customize-variable org-babel-load-languages.

测试版本:来自 MELPA 的 20150810。

于 2015-08-19T15:45:16.397 回答
1

如果您使用的是直接/使用包,请尝试以下操作:-

(use-package ob-shell
  :straight nil
  :after org
  :config
  (setq org-babel-default-header-args:sh '((:results . "output")))
  (setq org-babel-default-header-args:shell '((:results . "output"))))
于 2021-05-26T07:35:56.287 回答