emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: "numbchild@gmail.com" <numbchild@gmail.com>
To: Michael Welle <mwe012008@gmx.net>
Cc: Org-mode <emacs-orgmode@gnu.org>
Subject: Re: ob-shell and remote shells
Date: Wed, 29 Nov 2017 14:17:18 +0800	[thread overview]
Message-ID: <CAL1eYu+pUwzhz1iDbnkRnuVa_rF4AQpT79MLzSFiu8GwR8c3Ag@mail.gmail.com> (raw)
In-Reply-To: <87609ug5ae.fsf@luisa.c0t0d0s0.de>

[-- Attachment #1: Type: text/plain, Size: 2006 bytes --]

Off the topic, I'm curious what is the `:session` in `ob-shell` ?

[stardiviner]           <Hack this world!>      GPG key ID: 47C32433
IRC(freeenode): stardiviner                     Twitter:  @numbchild
Key fingerprint = 9BAA 92BC CDDD B9EF 3B36  CB99 B8C4 B8E5 47C3 2433
Blog: http://stardiviner.github.io/

On Tue, Nov 28, 2017 at 4:45 PM, Michael Welle <mwe012008@gmx.net> wrote:

> Hello,
>
> I want to execute shell blocks like follows:
>
> #+BEGIN_SRC shell :session n42 :dir /127.0.0.1: :shebang "#!/bin/bash"
> echo los
> echo $SHELL
> echo $BASH
> echo ready
> #+end_src
>
> The trouble is that the shebang property doesn't work in this case. The
> script is executed with the login shell of the user and fails because of
> syntax errors (for instance, if bashisms are used in the script).
>
> With my minimal and dangerous knowledge about Org's source code ;), I
> think the following might work (from ob-shell.el):
>
> (defun org-babel-sh-initiate-session (&optional session _params)
>   "Initiate a session named SESSION according to PARAMS."
>   (when (and session (not (string= session "none")))
>     (save-window-excursion
>       (or (org-babel-comint-buffer-livep session)
>           (progn
>             (let ((explicit-shell-file-name (xxx)))
>             (shell session))
>             ;; Needed for Emacs 23 since the marker is initially
>             ;; undefined and the filter functions try to use it without
>             ;; checking.
>             (set-marker comint-last-output-start (point))
>             (get-buffer (current-buffer)))))))
>
>
> Note the let form. Further tasks that have to be done is to add the
> shebang key to _params, which I hope is available at all places where
> o-b-s-i-s is evaluated. Further at (xxx) a regexp etc. is needed to
> transform the shebang line to a shell path suitable for e-s-f-n.
>
> Any opinions, please? Depending on the opinions I will implement the
> approach this week and see if it works as expected.
>
> Regards
> hmw
>
>

[-- Attachment #2: Type: text/html, Size: 2946 bytes --]

  reply	other threads:[~2017-11-29  6:17 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-28  8:45 ob-shell and remote shells Michael Welle
2017-11-29  6:17 ` numbchild [this message]
2017-11-29  7:13   ` Michael Welle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAL1eYu+pUwzhz1iDbnkRnuVa_rF4AQpT79MLzSFiu8GwR8c3Ag@mail.gmail.com \
    --to=numbchild@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=mwe012008@gmx.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).