Mariusz Borkowski - strona prywatna
Blog: Przekierowywanie błędu bash do sekcji RESULTS w org-babel

Table of Contents

Strona głównaDydaktykaO mnie/dane adresoweBlog

Przekierowywanie błędu bash do sekcji RESULTS w org-babel

Wywołanie w org-babel polecenia shellowego, które kończy się błędem, spowoduje, że błąd ten zostanie przekierowany do nowego bufora o nazwie *Org-Babel Error Output*, ale nie będzie dodany do sekcji #+RESULTS:. A więc np. próba C-c C-c na poniższym fragmencie kodu:

#+begin_src shell :exports both
nieznanepolecenie
#+end_src

#+RESULTS:

pozostawi puste miejsce pod #+RESULTS:.

Nie zawsze jest to nam na rękę. Czasami chcemy zamieścić w dokumencie treść błędu linii poleceń. W tym celu należy przekierować stderr do stdout przy pomocy :prologue exec 2>&1 (link).

Teraz, fragment dokumentu org będzie się przedstawiał następująco:

#+begin_src shell :prologue exec 2>&1 :exports both
nieznanepolecenie
#+end_src

#+RESULTS:
: /bin/bash: linia 2: nieznanepolecenie: nie znaleziono polecenia

a po eksporcie do innego dokumentu otrzymamy:

nieznanepolecenie
/bin/bash: linia 2: nieznanepolecenie: nie znaleziono polecenia

Author: mb

Date: 2025-02-17 Mon 18:24

Emacs 29.4 (Org mode 9.6.15)