Для строкового случая попробуйте это:
#+BEGIN_SRC sh :var y=(org-sbe addSomething (x $"a string"))
echo $y
#+END_SRC
#+RESULTS:
: something: a string
Для случая RID попробуйте следующее:
#+BEGIN_SRC sh :var y=(org-sbe addSomething (x (org-entry-get nil \"RID\")))
echo $y
#+END_SRC
#+RESULTS:
: something: h1_property
Вы можете добавить исходные блоки для вычисления любых элементов, которые вы хотите, а затемиспользуйте org-sbe
для передачи результатов в другие исходные блоки;например,
#+name: rid
#+BEGIN_SRC sh :var y=(org-entry-get nil "RID")
echo $y
#+END_SRC
#+BEGIN_SRC sh :var y=(org-sbe addSomething (x (org-sbe rid)))
echo $y
#+END_SRC
#+RESULTS:
: something: h1_property
и аналогично
#+name: string
#+BEGIN_SRC sh :var y="a string"
echo $y
#+END_SRC
#+RESULTS: string
: a string
#+BEGIN_SRC sh :var y=(org-sbe addSomething (x (org-sbe string)))
echo $y
#+END_SRC
#+RESULTS:
: something: a string
И вот второй пример с аргументами, передаваемыми в строке (снова с использованием блока «rid» исходного кода, определенного выше):
#+BEGIN_SRC sh :var y=addSomething((org-sbe rid)))
echo $y
#+END_SRC
#+RESULTS:
: something: h1_property
Я понимаю, что это не полный и не удовлетворительный ответ, но у меня не было времени или терпения, чтобы выяснить даже небольшое подмножество (не говоря уже о полном наборе) правил.Хороший ответ послужил бы основой для очень приятного поста в блоге, который я, например, очень хотел бы прочитать (подсказка, подсказка ...)