在 org-mode 中从另一个会话获取变量的值
Get value of a variable from another session in org-mode
如何在不同会话之间共享组织模式下的变量值?
简单示例:在会话中 one 我创建 _gpg_tmpdir
#+name: make_temporary_directories
#+begin_src bash :session *one*
_gpg_tmpdir="$( mktemp -d )"
#+end_src
并且需要在会话中清理它 两个:
#+name: clean_temporary_directories
#+begin_src bash :session *two*
rm -rf $_gpg_tmpdir
#+end_src
该示例仅用于演示目的。
问题是在 org-mode 中的不同代码会话(可能使用不同的代码语言)之间共享变量的痛苦方式是什么。
您可以使用代码块的名称来引用来自使用 "var" 属性的不同代码块的输出。有关更多信息,您可以查看 orgmode documentation.
第一个块需要输出值:
#+name: make_temporary_directories
#+BEGIN_SRC bash :session *one* :results output
variable=`ls`
echo $variable
#+END_SRC
#+RESULTS: make_temporary_directories
:
: file1 file2 file3 file4 file5 file6 file7 file8
第二个块可以使用前一个代码块的名称引用该值:
#+BEGIN_SRC bash :session *two* :results output :var ls_result=make_temporary_directories
echo $ls_result
#+END_SRC
#+RESULTS:
#+begin_example
bash-5.0$ file1 file2 file3 file4 file5 file6 file7 file8
#+end_example
如何在不同会话之间共享组织模式下的变量值?
简单示例:在会话中 one 我创建 _gpg_tmpdir
#+name: make_temporary_directories
#+begin_src bash :session *one*
_gpg_tmpdir="$( mktemp -d )"
#+end_src
并且需要在会话中清理它 两个:
#+name: clean_temporary_directories
#+begin_src bash :session *two*
rm -rf $_gpg_tmpdir
#+end_src
该示例仅用于演示目的。 问题是在 org-mode 中的不同代码会话(可能使用不同的代码语言)之间共享变量的痛苦方式是什么。
您可以使用代码块的名称来引用来自使用 "var" 属性的不同代码块的输出。有关更多信息,您可以查看 orgmode documentation.
第一个块需要输出值:
#+name: make_temporary_directories
#+BEGIN_SRC bash :session *one* :results output
variable=`ls`
echo $variable
#+END_SRC
#+RESULTS: make_temporary_directories
:
: file1 file2 file3 file4 file5 file6 file7 file8
第二个块可以使用前一个代码块的名称引用该值:
#+BEGIN_SRC bash :session *two* :results output :var ls_result=make_temporary_directories
echo $ls_result
#+END_SRC
#+RESULTS:
#+begin_example
bash-5.0$ file1 file2 file3 file4 file5 file6 file7 file8
#+end_example