Wow, works!, thank you very much. Now, I have a more specific example.
#+name: initSSH #+begin_src shell :var connection=“admin@10.0.3.200" :noweb yes ssh -t miguel@172.28.3.249 "sudo -u admin ssh -t $connection 'sudo su'" #+end_src #+name: getClientInstanceNameNew #+begin_src shell :session something :var connection="admin@10.0.3.149" :var client="example_client" :var apacheDir="/etc/apache/vhosts" <<initSSH>> client=$client apacheDir=$apacheDir grep $client $apacheDir/* #+end_src So, the initSSH call works successfully, so that concludes my first question, being that I can now affect the $connection variable. Thank you again! However, since the SSH call changes the environment, the $client and $apacheDir variables are not defined in the new environment. I did try setting it again like above, but this doesn’t help as the variables do not exist. 99% of the commands I run are remote so, I will keep investigating this. It would make more sense to use :dir and tramp, but as the connections are slow, I can only connect with this call which works pretty fast. > 2/4/23 12:06、Ihor Radchenko <yanta...@posteo.net>のメール: > > suarezmigu...@icloud.com writes: > >> I use heavily org-mode for Literate DevOps, so I have a lot of shell >> commands that connect through SSH and do some things later, for example: >> >> #+name: initSSH >> #+begin_src shell :var connection=“admin@somehost" >> ssh -t miguel@host "sudo -u someuser ssh -t $connection 'sudo su'" >> #+end_src >> > p ...> >> #+name: getStorage >> #+begin_src shell >> df >> #+end_src >> >> Which has to be run in a remote server, could be any remote server as I have >> to connect to several. So I would like to be able to: >> >> #+begin_src shell >> <<initSSH(connection=“admin@anotherhost”)>> >> <<getStorage>> >> #+end_src > > You can just > > #+begin_src shell :var connection "admin@anotherhost" > <<initSSH>> > <getStorage>> > #+end_src > > -- > Ihor Radchenko // yantar92, > Org mode contributor, > Learn more about Org mode at <https://orgmode.org/>. > Support Org development at <https://liberapay.com/org-mode>, > or support my work at <https://liberapay.com/yantar92>