次のバベルシェルブロックを実行すると
#+BEGIN_SRC sh :session one :results output
ssh staging
#+END_SRC
#+BEGIN_SRC sh :session one :results output
hostname
#+END_SRC
ORGと呼ばれるシェルバッファを作成しone
実行、ssh staging
およびその後接続した後、実行hostname
ステージに。ただし、sshコマンドを微調整して再度実行すると、ステージングホストからセッション1内から実行しようとします。バッファを閉じるone
と、次回そのセッション名でコマンドが実行されるときにセッションがリセットされ、再作成されます。私が見つけることができなかったのは、特定のバベルブロックに常に新しいセッションを初期化させる方法です。
一部の言語(特にelsp)では、これが不可能であることを認識しています。セッションの先頭にを含むelispブロックを付加できると思い(kill-buffer "one")
ますが、可能であればこれをヘッダー引数にしたいと思います。この例では、セッションなしで2つを1つのブロックに単純に結合できることも知っていますが、もっと複雑なシーケンスに興味があります。
すべての呼び出しでそのブロックに新しいシェルを初期化させる:prologue
コマンドまたは他の特別な引数はあり:session
ますか?
org-babel-initiate-session
ます。