Подтвердить что ты не робот

Как я могу загрузить bash (в отличие от sh) в org babel, чтобы включить # + BEGIN_SRC bash?

Я вижу ссылки и примеры, которые используют

#+BEGIN_SRC bash

Но в моей версии org mode (elpa, org 20150316) в меню customize-variable org-babel-load-languages нет элемента "bash", только shell. Попытка оценить код, например

#+BEGIN_SRC bash
ls -l
#+END_SRC

Я получаю

org-babel-execute-src-block: нет функции org-babel-execute для bash!

Что мне не хватает?

Спасибо.

4b9b3361

Ответ 1

Для меня я сделал

(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.

Ответ 2

См. значение org-babel-sh-command (которое по умолчанию соответствует "sh" ), и используйте только "sh" в качестве языка.

Ответ 3

Кажется, что bash покрывается идентификатором shell.

Поэтому вам нужно активировать вставку "Shell Script" в customize-variable org-babel-load-languages.

Протестированная версия: 20150810 от MELPA.