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