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.