Hello, Is it possible to set variables using Org Babel inside screen, which does not support ":var" header args? I'd actually lke a double-nested screen over ssh, and the ability to re-use Babel code blocks under different headings, using header args or PROPERTIES to change variables. That is, something like:
* Setup :SETTINGS: :FOO: default :BAR: one :header-args:screen+: :cmd /bin/bash :session (org-macro--get-property "FOO" "") :END: #+NAME: setup #+BEGIN_SRC screen if [[ ! $(hostname) =~ "host"* ]]; then ssh host; fi <<inject_vars>> # eval <<inject_vars>> ?? echo $FOO #+END_SRC Should print out "one" (the default setting under Setup) in the screen terminal. ** OTHER :PROPERTIES: :FOO: two :END: #+BEGIN_SRC screen <<setup>> #+END_SRC Should print out "two" (the sub-heding adjusted property) in the screen terminal. I'm OK with not being able to inject arbitrary variables, only the ~10 or so that I need to be able to set, and having a code block that has these 10 hard-coded on the LHS, but with some <<noweb>> or something on the RHS so that they value of the variable can be controlled using PROPERTIES under headings (better yet, header-args, but I don't think that is possible). That's the behavior I'm after, but am having trouble. I thought something like: #+NAME: get-prop #+BEGIN_SRC emacs-lisp :var prop="FOO" :noweb yes (org-macro--get-property prop "") #+END_SRC #+NAME: inject_vars #+BEGIN_SRC shell :noweb yes # echo <<get-prop(prop="FOO")>> # testing echo export FOO=<<get-prop(prop="FOO")>> echo export BAR=<<get-prop(prop="BAR")>> echo export BAZ=<<get-prop(prop="BAZ")>> #+END_SRC #+BEGIN_SRC screen <<setup>> echo $FOO #+END_SRC might work, but it's just printing nil. Thanks for any suggestions, -k.