Matt <m...@excalamus.com> writes: > Evaluating the following > > #+name: /tmp/test.sh > #+begin_src bash :results output > ssh localhost "echo foo>foo_file" > echo "bar" | tee /tmp/bar.txt > #+end_src > > does exactly what > > cat /tmp/test.sh | bash -c bash > > does. Both create a file "foo_file" containing "foo" on the remote machine > and neither execute the second line. > > So, I would say that what happens in Org is the "expected" behavior.
Yup, it is expected. But only in a sense that "Emacs does what we asked for when calling `process-file'". From the user point of view, it is not expected at all. And, what is worse, may depend on (1) shell used; (2) ssh config (see StdinNull in man 5 ssh_config). I believe that we do need to change how we execute shell blocks _by default_ - to something more predictable, like creating and running a temporary script file. -- 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>