Получить значение переменной из другого сеанса в режиме org - PullRequest
0 голосов
/ 10 февраля 2020

Как разделить значения переменных в режиме org между различными сеансами?

Простой пример: в сеансе один Я создаю _gpg_tmpdir

#+name: make_temporary_directories
#+begin_src bash :session *one*
_gpg_tmpdir="$( mktemp -d )"
#+end_src

и необходимо очистить его в сеансе two :

#+name: clean_temporary_directories
#+begin_src bash :session *two*
rm -rf $_gpg_tmpdir
#+end_src

Пример только для демонстрационных целей. Вопрос в том, что является менее болезненным способом разделения переменных между различными сеансами кода (возможно, с разными языками кода) в режиме org.

1 Ответ

1 голос
/ 18 февраля 2020

Вы можете использовать имя кодового блока для ссылки на его вывод из другого кодового блока, используя атрибут "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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...