
Я обнаружил 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
.