[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] org babel execute shell in sh?
From: |
Tom Regner |
Subject: |
Re: [O] org babel execute shell in sh? |
Date: |
Sat, 10 Mar 2012 07:33:53 +0100 |
User-agent: |
K-9 Mail for Android |
Nick Dokos <address@hidden> schrieb:
>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")
>
>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: address@hidden