Was bedeutet `AWK=@AWK@` in Shell-Skripten

Was bedeutet `AWK=@AWK@` in Shell-Skripten

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:

verwandte Informationen