Re: [O] Blank first line in a tangled file prevents src block execution

2012-03-12 Thread Eric Schulte
Nick Dokos nicholas.do...@hp.com writes:

 Eric Schulte eric.schu...@gmx.com wrote:

 Or try
 
 #+begin_src sh :tangle code/get_wavs.sh :shebang #!/bin/bash
   for fn_in in $@; do
   fn_out=$(sed -e 's|\.3gp$||g' -e 's|$|.wav|g'  $fn_in)
   ffmpeg -i $fn_in -vn -f wav -acodec pcm_u8 $fn_out
   done
 #+end_src
 

 That reminds me: I believe shebang is used in tangling, but not in evaluation.
 Assuming that's correct, is there any fundamental reason for it not being used
 in evaluation?


Shell code blocks are evaluated using the org-babel-sh-command variable.
When the executing command is explicitly provided there is no need for a
shebang line, and it would be (to my knowledge) ignored.

Best,

-- 
Eric Schulte
http://cs.unm.edu/~eschulte/



[O] Blank first line in a tangled file prevents src block execution

2012-03-09 Thread Leo Alekseyev
I have the following source block that I tangle to produce a short script:

#+begin_src sh :tangle code/get_wavs.sh
  #!/bin/bash
  for fn_in in $@; do
  fn_out=$(sed -e 's|\.3gp$||g' -e 's|$|.wav|g'  $fn_in)
  ffmpeg -i $fn_in -vn -f wav -acodec pcm_u8 $fn_out
  done
#+end_src

However, the tangled file has a blank first line.  As a result, I
can't seem to run this script either using sh -c, or by putting it
inside a code block.  In other words, the following line fails:

sh -c code/test.sh data/salsa/20120308_av_jc/song2/*.3gp
code/test.sh: 4: Syntax error: redirection unexpected

And, similarly, this fails

#+begin_src sh
  code/get_wavs.sh data/salsa/20120308_av_jc/song2/*.3gp
#+end_src


On the other hand, the script runs fine from the command line, or from
an org-mode shell: link, i.e. just running

code/test.sh data/salsa/20120308_av_jc/song2/*.3gp

at bash prompt produces the desired result.


I am not sure what the rules are about blank lines before the
hash-bang directive in Bash, and why in particular the blank line
seems to cause sh -c ... and orb-babel src execution to break, but the
current behavior seems broken.



Re: [O] Blank first line in a tangled file prevents src block execution

2012-03-09 Thread Nick Dokos
Leo Alekseyev dnqu...@gmail.com wrote:

 I have the following source block that I tangle to produce a short script:
 
 #+begin_src sh :tangle code/get_wavs.sh
   #!/bin/bash
   for fn_in in $@; do
   fn_out=$(sed -e 's|\.3gp$||g' -e 's|$|.wav|g'  $fn_in)
   ffmpeg -i $fn_in -vn -f wav -acodec pcm_u8 $fn_out
   done
 #+end_src
 
 However, the tangled file has a blank first line.  As a result, I
 can't seem to run this script either using sh -c, or by putting it
 inside a code block.  In other words, the following line fails:
 

Add :padline no

Nick



Re: [O] Blank first line in a tangled file prevents src block execution

2012-03-09 Thread Eric Schulte
Nick Dokos nicholas.do...@hp.com writes:

 Leo Alekseyev dnqu...@gmail.com wrote:

 I have the following source block that I tangle to produce a short script:
 
 #+begin_src sh :tangle code/get_wavs.sh
   #!/bin/bash
   for fn_in in $@; do
   fn_out=$(sed -e 's|\.3gp$||g' -e 's|$|.wav|g'  $fn_in)
   ffmpeg -i $fn_in -vn -f wav -acodec pcm_u8 $fn_out
   done
 #+end_src
 
 However, the tangled file has a blank first line.  As a result, I
 can't seem to run this script either using sh -c, or by putting it
 inside a code block.  In other words, the following line fails:
 

 Add :padline no


Or try

#+begin_src sh :tangle code/get_wavs.sh :shebang #!/bin/bash
  for fn_in in $@; do
  fn_out=$(sed -e 's|\.3gp$||g' -e 's|$|.wav|g'  $fn_in)
  ffmpeg -i $fn_in -vn -f wav -acodec pcm_u8 $fn_out
  done
#+end_src

-- 
Eric Schulte
http://cs.unm.edu/~eschulte/



Re: [O] Blank first line in a tangled file prevents src block execution

2012-03-09 Thread Nick Dokos
Eric Schulte eric.schu...@gmx.com wrote:

 Or try
 
 #+begin_src sh :tangle code/get_wavs.sh :shebang #!/bin/bash
   for fn_in in $@; do
   fn_out=$(sed -e 's|\.3gp$||g' -e 's|$|.wav|g'  $fn_in)
   ffmpeg -i $fn_in -vn -f wav -acodec pcm_u8 $fn_out
   done
 #+end_src
 

That reminds me: I believe shebang is used in tangling, but not in evaluation.
Assuming that's correct, is there any fundamental reason for it not being used
in evaluation?

Panruo Wu's question in another thread ( 
http://thread.gmane.org/gmane.emacs.orgmode/53157 )
brought this to mind.

Thanks,
Nick