This is a known issue with diff, I think. Add a line containing ":" below, or 
"echo" or "diff foo bar | cat".

https://stackoverflow.com/questions/27304469/capturing-the-output-of-diff-with-org-babel

I have

(setq org-babel-default-header-args:sh
  '((:prologue . "exec 2>&1") (:epilogue . ":"))
)

so that stderr is always displayed in the RESULTS block.

  -k.
  
On 2016-05-12 at 15:24, John Hendy <jw.he...@gmail.com> wrote:
> Hello,
>
>
> I've not used shell in babel much, and am confused. I was trying to
> include diff output from a block in an analysis and it's not giving
> any output.
>
> As a test, I have a.txt which contains 1 and b.txt which contains 2,
> with boths in ~/Desktop.
>
> Manually:
> $ cd ~/Desktop
> $ diff a.txt b.txt
> 1c1
> < 1
> ---
>> 2
>
> Org:
> #+begin_src shell
>
> cd ~/Desktop
> diff a.txt b.txt
>
> #+end_src
>
> I get "Code block produced no output" with C-c C-c. If I replace the
> diff line with =pwd=, it puts the current directory in the results
> block (works as expected).
>
> I've tried replace, append, output, raw, and value for :results, as
> well as results and both for :exports. I've also tried using a #+name:
> which gives me a results block for the output, but it's empty.
>
> Am I missing something? Perhaps there's an analog for how some
> programs need a print() of some kind for the results to show up? Then
> again, I don't know why =pwd= works... There's no worg page for the
> shell language (surprised me!).
>
>
> Thanks,
> John


Reply via email to