У меня есть я в тупике.ksh не оценивая переменную в backticks
#!/bin/ksh
AWKSCRIPT='END { print "all done"; }'
OUTPUT=`echo hello world | awk '$AWKSCRIPT'`
RETVAL=$?
echo "running echo hello world | awk '$AWKSCRIPT'"
echo "Output = $OUTPUT"
echo "returned = $RETVAL"
Выход
$ ./kshawk.ksh
Output = hello world
returned = 0
(я ожидал увидеть "Output = все сделано")
Похоже, что интерпретатор не заменяя переменную AWKSCRIPT при оценке выражения (Я получаю такое же поведение, если вместо backticks я использую $ (...).
Хотя я мог бы сбрасывать AWKSCRIPT во временный файл - это тоже должно быть жестко запрограммировано?
Любые идеи о том, как интерполировать переменную в обратном направлении?
Спасибо msw - да, это исправлено – symcbean