org-mode - 在 org 模式下从另一个会话中获取变量的值
问题描述
如何在不同会话之间共享 org-mode 中的变量值?
简单示例:在我创建的第一个会话中_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 模式下,在不同的代码会话(可能使用不同的代码语言)之间共享变量的更轻松的方法是什么。
解决方案
您可以使用代码块的名称通过“var”属性从不同的代码块引用其输出。有关更多信息,您可以查看 orgmode文档。
第一个块需要输出值:
#+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
推荐阅读
- vuejs2 - vuex get方法如何调用action方法?
- google-cloud-platform - 使用 DF 中嵌入的会话和侧板窗口更新数据流流作业
- python - 删除超出图像边缘的边界框
- node.js - 在用户名包含空格的 Windows 中,nvm 使用失败
- java - 在 Spring Boot 2.3 上注释 @MockBean 不起作用(未注入?)
- html - IE11 Flex 容器在表内时溢出
- javascript - 如何在本机反应中创建 Dragabble 列表?
- jenkins - 在 Jenkins Pipeline 视图中对并行阶段进行分组
- javascript - 如何清理 useffect 调用中的函数?
- python - setup.py 在分类器中包含许可证,但安装的轮子有 license=UNKNOWN