Org-mode sh block在使用:session时显示shell提示



我在org模式下遇到一个问题,当我在头中使用:session时,shell源块在结果中包括shell提示符。

每当代码中有空行或以注释开头的行时,就会发生这种情况。

我已经尝试取消设置PS1变量或将其设置为空字符串(">),但代码块的执行会因这些而挂起。

例子:

当不使用:session时,结果正确显示:

#+begin_src sh :results output replace :exports both
echo "TEST1"
#COMMENT
echo "TEST2"
echo "TEST3"
#COMMENT
echo "TEST4"
#COMMENT
#+end_src
#+RESULTS:
: TEST1
: TEST2
: TEST3
: TEST4

当使用:session时,结果将为每一个空行或以注释开头的行包含一次shell提示。看到贝娄:

#+begin_src sh :results output replace :exports both :session test
echo "TEST1"
#COMMENT
echo "TEST2"
echo "TEST3"
#COMMENT
echo "TEST4"
#COMMENT
#+end_src
#+RESULTS:
: TEST1
: sh-5.0$ TEST2
: sh-5.0$ TEST3
: sh-5.0$ sh-5.0$ TEST4
下面是使用:session: 时'test' buffer的输出
sh-5.0$ echo "TEST1"
TEST1
sh-5.0$ #COMMENT
sh-5.0$ echo "TEST2"
TEST2
sh-5.0$ 
sh-5.0$ echo "TEST3"
TEST3
sh-5.0$ #COMMENT
sh-5.0$ 
sh-5.0$ echo "TEST4"
TEST4
sh-5.0$ #COMMENT
sh-5.0$ echo 'org_babel_sh_eoe'
org_babel_sh_eoe
sh-5.0$ 

Konubinix声称已经修复了这个问题:Make Org-Babel-Sh-Evaluate Handle Noop Lines

我自己还没试过呢。

相关内容

最新更新