Nick Dokos <nicholas.do...@hp.com> schrieb:

>Tom Regner <t...@goochesa.de> wrote:
>
>> Hi,
>>
>> Panruo Wu <p...@mymail.mines.edu> 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")
>
>Nick
Ah, I didn't know that about BIND; but I do know file local variables. I don't 
need them in this case, as I always want to use zsh. And the OP asked for a 
different shell for one code block only, not the whole file.

But I'm often bitten by the distinction between export and tangling -- 
:padline, :shebang come to mind, where I expected org-babel to honour the 
setting in both cases.

well you live and learn: -) And org-mode truly is a joy to use, a marvelous 
piece of software, without which I couldn't do all my work im emacs.

Tom
>
>> 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
>>


--
http://www.tomsdiner.de
xmpp: t...@sec.goochesa.de

Reply via email to