
AWK=@AWK@
Beim Lesen des Skripts ist mir aufgefallen sh
, dass es so etwas ist wie AWK=$(which awk)
, aber es funktioniert nicht. Kann das also jemand erklären?
Skript :
#!/bin/sh -
# makelist.sh: Automatically generate header files...
AWK=@AWK@
USAGE="Usage: $0 -n|-h|-e|-fc|-fh|-bc|-bh|-m <filenames>"
if [ "x$1" = "x" ]
then
echo $USAGE 1>&2
exit 1
fi
.....
.....
.....
-h)
set - `echo $FILES | sed -e 's/\\./_/g'`
hdr="_h_`basename $1`"
cat $FILES | $AWK '
BEGIN {
printf("/* Automatically generated file, do not edit */\n");
printf("#ifndef %s\n#define %s\n", "'$hdr'", "'$hdr'");
}
/\(\):/ {
pr = substr($2, 1, 2);
if (pr == "vi" || pr == "em" || pr == "ed") {
# XXXMYSQL: support CRLF
name = substr($2, 1, index($2,"(") - 1);
...
Antwort1
Es sagt # makelist.sh: Automatically generate header files...
.
Es bedeutet wahrscheinlich, dass ein anderes Programm das Shell-Skript bearbeitet und den Platzhalter @AWK@
durch den tatsächlichen Pfad zu awk ersetzt, etwa /usr/bin/awk
: