Re: [O] [babel] problem with sh blocks
Bernt Hansen be...@norang.ca writes: Andreas Leha andreas.l...@med.uni-goettingen.de writes: Org-mode version 7.8.03, pulled last week (how do I get the release info as well?) If you are running from a git repository then M-x org-version should show the results of 'git describe' automatically. C-u M-x org-version RET Org-mode version 7.8.03 (release_7.8.03.420.gaf2a4) Regards, Bernt Hi Bernt, thanks. I did not get the git describe part. Now looking at the code of org-version, I saw, that I get this only, when I run org from the repository (I did make install and load from another place). Kind of obvious. Now I am loading org from the repository. Bit anyway, since I have some changes committed locally on top, that won't give useful (useful to others) information. Regards, Andreas
Re: [O] [babel] problem with sh blocks
Hi Andreas Leha, Andreas Leha wrote: Hi all, why is it, that I can not use this code in sh blocks (I get sh: 2: Bad substitution), even though it is valid when I run the tangled script? Is this a known thing? #+begin_src sh :shebang #!/bin/bash :tangle test.sh for i in *.org; do echo cp $i ${i/%.org/.bak.org} done #+end_src How can I get the above block to execute? I just copied your block into a fresh test.org file, and eval'ed the code block: #+begin_src sh :shebang #!/bin/bash :tangle test.sh for i in *.org; do echo cp $i ${i/%.org/.bak.org} done #+end_src #+results: | cp | test-export4.org | test-export4.bak.org | | cp | test-export5.org | test-export5.bak.org | | cp | test-export7.org | test-export7.bak.org | Works perfectly for me, it seems, on: GNU Emacs 24.0.92.1 (i386-mingw-nt5.1.2600) of 2012-01-23 on MARVIN Org-mode version 7.8.03 (release_7.8.03.410.g77fb) Best regards, Seb -- Sebastien Vauban
Re: [O] [babel] problem with sh blocks
Hi Seb why is it, that I can not use this code in sh blocks (I get sh: 2: Bad substitution), even though it is valid when I run the tangled script? Is this a known thing? #+begin_src sh :shebang #!/bin/bash :tangle test.sh for i in *.org; do echo cp $i ${i/%.org/.bak.org} done #+end_src How can I get the above block to execute? I just copied your block into a fresh test.org file, and eval'ed the code block: #+begin_src sh :shebang #!/bin/bash :tangle test.sh for i in *.org; do echo cp $i ${i/%.org/.bak.org} done #+end_src #+results: | cp | test-export4.org | test-export4.bak.org | | cp | test-export5.org | test-export5.bak.org | | cp | test-export7.org | test-export7.bak.org | Works perfectly for me, it seems, on: GNU Emacs 24.0.92.1 (i386-mingw-nt5.1.2600) of 2012-01-23 on MARVIN Org-mode version 7.8.03 (release_7.8.03.410.g77fb) Best regards, Seb thanks for testing! That's what I'd like to get as well. I tried with emacs -Q with no success. Seems the sh block is not executed by my bash. After more thoughts on this my guess is that it has to do with dash being the default shell in debian. #+begin_src sh :shebang #!/bin/bash :tangle test.sh echo $_ ls -l /bin/sh #+end_src #+RESULTS: | /bin/sh| | | | | || | || | | lrwxrwxrwx | 1 | root | root | 4 | Sep | 27 | 14:23 | /bin/sh | - | dash | How can I get this to be /bin/bash? Preferably from within org mode, but I am grateful for any hint. (Somehow this question seems familiar to me...) My setup: I am on Debian testing with GNU Emacs 24.0.93.1 (x86_64-pc-linux-gnu, GTK+ Version 3.2.3) of 2012-02-16 on zelenka, modified by Debian Org-mode version 7.8.03, pulled last week (how do I get the release info as well?) Regards, Andreas
Re: [O] [babel] problem with sh blocks
Hi Andreas Leha, Andreas Leha wrote: Hi Seb why is it, that I can not use this code in sh blocks (I get sh: 2: Bad substitution), even though it is valid when I run the tangled script? Is this a known thing? #+begin_src sh :shebang #!/bin/bash :tangle test.sh for i in *.org; do echo cp $i ${i/%.org/.bak.org} done #+end_src How can I get the above block to execute? I just copied your block into a fresh test.org file, and eval'ed the code block: #+begin_src sh :shebang #!/bin/bash :tangle test.sh for i in *.org; do echo cp $i ${i/%.org/.bak.org} done #+end_src #+results: | cp | test-export4.org | test-export4.bak.org | | cp | test-export5.org | test-export5.bak.org | | cp | test-export7.org | test-export7.bak.org | Works perfectly for me, it seems. thanks for testing! That's what I'd like to get as well. I tried with emacs -Q with no success. Seems the sh block is not executed by my bash. After more thoughts on this my guess is that it has to do with dash being the default shell in debian. #+begin_src sh :shebang #!/bin/bash :tangle test.sh echo $_ ls -l /bin/sh #+end_src #+RESULTS: | /bin/sh| | | | | || | || | | lrwxrwxrwx | 1 | root | root | 4 | Sep | 27 | 14:23 | /bin/sh | - | dash | How can I get this to be /bin/bash? Preferably from within org mode, but I am grateful for any hint. I have the following for my Emacs config: --8---cut here---start-8--- (setq shell-file-name bash) (setenv SHELL shell-file-name) --8---cut here---end---8--- Note that this is related to an old discussion I had with Eric Schulte. See http://lists.gnu.org/archive/html/emacs-orgmode/2009-12/msg00078.html. Best regards, Seb -- Sebastien Vauban
Re: [O] [babel] problem with sh blocks
Andreas Leha andreas.l...@med.uni-goettingen.de writes: Org-mode version 7.8.03, pulled last week (how do I get the release info as well?) If you are running from a git repository then M-x org-version should show the results of 'git describe' automatically. C-u M-x org-version RET Org-mode version 7.8.03 (release_7.8.03.420.gaf2a4) Regards, Bernt
Re: [O] [babel] problem with sh blocks
Hi, As with the other recent sh-block email, the problem is likely due to the interpreter used (e.g., bash as compared to dash). See the value of `org-babel-sh-command' which defaults to sh which defaults to a POSIX rather than bash shell on many systems. Best, Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi all, why is it, that I can not use this code in sh blocks (I get sh: 2: Bad substitution), even though it is valid when I run the tangled script? Is this a known thing? #+begin_src sh :shebang #!/bin/bash :tangle test.sh for i in *.org; do echo cp $i ${i/%.org/.bak.org} done #+end_src How can I get the above block to execute? Thanks in advance, Andreas -- Eric Schulte http://cs.unm.edu/~eschulte/
Re: [O] [babel] problem with sh blocks
Eric Schulte eric.schu...@gmx.com writes: Hi Eric, Hi, As with the other recent sh-block email, the problem is likely due to the interpreter used (e.g., bash as compared to dash). See the value of `org-babel-sh-command' which defaults to sh which defaults to a POSIX rather than bash shell on many systems. Best, Andreas Leha andreas.l...@med.uni-goettingen.de writes: Hi all, why is it, that I can not use this code in sh blocks (I get sh: 2: Bad substitution), even though it is valid when I run the tangled script? Is this a known thing? #+begin_src sh :shebang #!/bin/bash :tangle test.sh for i in *.org; do echo cp $i ${i/%.org/.bak.org} done #+end_src How can I get the above block to execute? Thanks in advance, Andreas thanks a lot! The org-babel-sh-command did the trick! Cheers, Andreas
[O] [babel] problem with sh blocks
Hi all, why is it, that I can not use this code in sh blocks (I get sh: 2: Bad substitution), even though it is valid when I run the tangled script? Is this a known thing? #+begin_src sh :shebang #!/bin/bash :tangle test.sh for i in *.org; do echo cp $i ${i/%.org/.bak.org} done #+end_src How can I get the above block to execute? Thanks in advance, Andreas