シェルスクリプトにおける`AWK=@AWK@`の意味

シェルスクリプトにおける`AWK=@AWK@`の意味

AWK=@AWK@スクリプトを読んでいるときにsh、 のようなものを見つけました AWK=$(which awk)が、動作しません。誰かこれを説明できますか?

脚本 :

#!/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);
...

答え1

と書いてあります# makelist.sh: Automatically generate header files...

これはおそらく、他のプログラムがシェル スクリプトを編集し、プレースマーカーを@AWK@awk への実際のパス ( など) に置き換えることを意味します/usr/bin/awk

関連情報