2014-12-04 64 views
7

我試圖用org-babel捕獲diff的輸出,但由於某些原因,它不起作用。對於文件用org-babel捕獲「diff」的輸出

a b c 
a c b 

diff 1 2從從命令行調用返回

1c1 
< a b c 
--- 
> a c b 

但隨着組織 - 巴貝爾,沒什麼:

#+begin_src sh                                     
diff 1 2                                      
#+end_src                                      

#+RESULTS: 

minibuffer讀取「代碼塊產生沒有輸出」。組織錯誤輸出窗口爲空。其他命令(如ls)會按預期顯示輸出。我不熟悉org-babel。

我試過使用:results output verbatim,沒有變化。我也嘗試使用:results output replace建議here。沒有幫助。

  • Emacs的版本是24.4.1(在Debian傑西)
  • 組織模式版本8.2.10是

回答

6

我可以重現你的問題(在OSX)。

奇怪的是,執行babel塊會打開Org-babel錯誤輸出緩衝區,就好像有東西要去STDERR一樣。

如果在diff之後添加任何其他輸出,結果將顯示OK。例如,

#+begin_src sh :results output 
diff 1 2 
echo 
#+end_src 

如果強制差異的結果到stdout,結果也顯示:

#+begin_src sh :results output 
diff 1 2 | cat 
#+end_src 
+0

謝謝,這工作。我會提交一個錯誤報告。 – Alex 2014-12-05 18:05:29

+0

@Alex你有沒有提交過這個bug?如果是這樣,我會爲它添加一個補丁 - 如果沒有,我會提交我自己的補丁。 – 2016-03-20 16:55:24

+0

@AaronMiller我不記得了。我建議你添加你自己的。 – Alex 2016-03-22 00:16:46