[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] org babel execute shell in sh?

From: Nick Dokos
Subject: Re: [O] org babel execute shell in sh?
Date: Fri, 09 Mar 2012 23:21:14 -0500

Tom Regner <address@hidden> wrote:

> Hi,
> Panruo Wu <address@hidden> writes:
> > Dear list,
> >
> >
> > #+begin_src sh=C2=A0
> > for np in {1..32}
> > do
> > =C2=A0 =C2=A0 echo $np
> > done
> > #+end_src
> >
> > when executing, the output only shows
> > {1..32}
> > which is clearly not I want..
> >
> > After some investigation, I found that orgmode
> > uses "sh" that cannot understand the for loop above.
> >
> > My question is, how can I suggest orgmode to use
> > "bash" to execute shell script?
> >
> > I tried :shebang #!/bin/bash but it does not work
> I have the following in my config:
> --------------------%<--------------------------
>       I really like org-babel to use zsh
>       #+begin_src emacs-lisp
>         (setq org-babel-sh-command "zsh")
>       #+end_src
> --------------------%<--------------------------
> It is apparently not possible to set this variable via #+BIND: to only
> change this for one code block, at least I did not succeed to do so in
> my attempts to do so -- but maybe I just didn't read enough of the
> documentation to /get it right/.

You are right that it is not possible: #+BIND is effective only when you
are exporting - basically, people wanted to change various setting on
export, and adding options for each and every one was too much, so
Carsten implemented BIND as a general mechanism for that. But it does
not apply to anything else; in particular, code block evaluation is
completely separate.

But you can use general emacs mechanisms to set it for a particular file:
that's what file local variables are all about:

(info "(emacs)Local Variables in Files")


> I don't know, if zsh||bash instead of sh breaks any assumptions org-mode
> makes about the environment in which sh code blocks are executed; up
> until now it works like a charm.
> Kind regards,
> Tom

reply via email to

[Prev in Thread] Current Thread [Next in Thread]