emacs-orgmode
[Top][All Lists]
Advanced

[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



reply via email to

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