Nếu tôi chạy các khối vỏ babel sau đây
#+BEGIN_SRC sh :session one :results output
ssh staging
#+END_SRC
#+BEGIN_SRC sh :session one :results output
hostname
#+END_SRC
Org tạo một bộ đệm shell được gọi one
, chạy ssh staging
và sau đó sau khi kết nối, thực hiện hostname
trên dàn. Tuy nhiên, nếu tôi điều chỉnh lệnh ssh và chạy lại, nó sẽ cố chạy nó từ trong phiên một, từ máy chủ dàn. Nếu tôi đóng bộ đệm, one
nó sẽ thiết lập lại phiên như lần sau khi bất kỳ lệnh nào được chạy với tên phiên đó, nó sẽ tạo lại nó. Điều tôi chưa thể tìm thấy là một phương pháp để buộc một khối babel cụ thể luôn luôn khởi tạo một phiên mới.
Tôi biết rằng đối với một số ngôn ngữ (đặc biệt là elisp) thì điều này là không thể. Tôi cho rằng tôi có thể đặt trước phiên với một khối elisp có chứa (kill-buffer "one")
, nhưng thay vào đó, đây là một đối số tiêu đề nếu có thể. Tôi cũng biết rằng với ví dụ này, tôi chỉ có thể kết hợp cả hai thành một khối duy nhất mà không có phiên nào, nhưng tôi quan tâm đến các chuỗi phức tạp hơn.
Có một :prologue
lệnh hoặc một số đối số đặc biệt nào khác để :session
buộc các khối đó khởi tạo một lớp vỏ mới trên mỗi lệnh gọi không?
org-babel-initiate-session
.