#+Title: Org Detangle Shell Script
#+Author: Sam Flint
#+PROPERTY: noweb tangle
* Copyright Statement
#+Name: CopyrightStatement
#+BEGIN_SRC text
Copyright FlintFam Systems Management, 2013.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
#+END_SRC
#+CAPTION: use-name-as-caption
* Variable Definitions
#+Name: VarSetup
#+BEGIN_SRC sh
DIR=`pwd`
FILES=""
for i in $@; do
FILES="$FILES \"$i\""
done
ORGBASEDIR=''
ORGLDIR="${ORGBASEDIR}/lisp/"
ORGCONTRIB="${ORGBASEDIR}/contrib/"
#+END_SRC
#+CAPTION: use-name-as-caption
* Process
#+Name: ProcessFiles
#+BEGIN_SRC sh
emacs -Q --batch \
--eval "(progn
(add-to-list 'load-path (expand-file-name \"$ORGLDIR\"))
(add-to-list 'load-path (expand-file-name \"$ORGCONTRIB\" t))
(require 'org)(require 'org-exp)(require 'ob)(require 'ob-tangle)
(mapc (lambda (file)
(find-file (expand-file-name file \"$DIR\"))
(org-babel-tangle)
(kill-buffer)) '($FILES)))" 2>&1 |grep tangled
#+END_SRC
#+CAPTION: use-name-as-caption
* Final Code
#+Name: MainCode
#+BEGIN_SRC sh :tangle "detangle.sh" :shebang "#!/usr/bin/zsh"
# <>
<>
<>
#+END_SRC
#+CAPTION: use-name-as-caption