From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Dokos Subject: Re: org babel execute shell in sh? Date: Fri, 09 Mar 2012 23:21:14 -0500 Message-ID: <3596.1331353274@alphaville> References: <87fwdj67q2.fsf@goochesa.de> Reply-To: nicholas.dokos@hp.com Return-path: Received: from eggs.gnu.org ([208.118.235.92]:35568) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S6DoL-0000UC-3N for emacs-orgmode@gnu.org; Fri, 09 Mar 2012 23:21:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S6Dnz-00036p-98 for emacs-orgmode@gnu.org; Fri, 09 Mar 2012 23:21:40 -0500 Received: from g1t0028.austin.hp.com ([15.216.28.35]:9434) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S6Dnz-00035Y-1x for emacs-orgmode@gnu.org; Fri, 09 Mar 2012 23:21:19 -0500 In-Reply-To: Message from Tom Regner of "Thu, 08 Mar 2012 05:24:05 +0100." <87fwdj67q2.fsf@goochesa.de> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Tom Regner Cc: Panruo Wu , emacs-orgmode@gnu.org, nicholas.dokos@hp.com Tom Regner wrote: > Hi, > > Panruo Wu 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 > 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 >