4 ### Make autoconf-like substitutions in files
6 ### (c) 2008 Mark Wooding
9 ###----- Licensing notice ---------------------------------------------------
11 ### This file is part of the Common Files Distribution (`common').
13 ### `Common' is free software; you can redistribute it and/or modify
14 ### it under the terms of the GNU General Public License as published by
15 ### the Free Software Foundation; either version 2 of the License, or
16 ### (at your option) any later version.
18 ### `Common' is distributed in the hope that it will be useful,
19 ### but WITHOUT ANY WARRANTY; without even the implied warranty of
20 ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 ### GNU General Public License for more details.
23 ### You should have received a copy of the GNU General Public License
24 ### along with `common'; if not, write to the Free Software Foundation,
25 ### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
31 ###--------------------------------------------------------------------------
32 ### Parse command line arguments.
34 while [ $# -gt
0 ]; do
36 -h |
--h |
--he |
--hel |
--help)
38 Usage: confsubst FILE TAG=VALUE...
40 Replaces occurrences of @TAG@ in FILE with VALUE, and writes the result to
45 -v |
--v |
--ve |
--ver |
--vers |
--versi |
--versio |
--version
)
46 echo "confsubst: Common Files Distribution version $VERSION"
57 echo "confsubst: unknown option \`$1'" >&2
68 echo >&2 "Usage: confsubst FILE TAG=VALUE..."
73 ###--------------------------------------------------------------------------
80 *) echo >&2 "$0: bad substitution: $fixup"; exit 1 ;;
82 tag
=$
(echo "$fixup" |
sed 's/=.*$//') && \
83 value
=$
(echo "$fixup" |
sed 's/^[^=]*=//') && \
84 subst
="$subst s\a@$tag@\a$value\ag;"
87 sed "$subst" $file ||
exit $?
89 ###----- That's all, folks --------------------------------------------------