Переменная в переменной BASH CGI

Рейтинг: 0Ответов: 1Опубликовано: 18.04.2015

Имеется скрипт:

NAME=`echo "$QUERY_STRING" | sed -n 's/^.*name=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"`
RES=`psql -U user -d db -t -c "SELECT tabl FROM tablica WHERE name = '$NAME'"`
echo $RES

Все работает прекрасно (GET запросы идут нормально).
Но вот данные из базы не идут.
А проблема в том, что значение параметра NAME в запросе WHERE как такого нет.
И проблема в том, что написан неправильный синтаксис.
Я уже перечитал много статей в Интернете, но про переменную в переменной с обратными кавычками нет ничего.
Помогите с синтаксисом.

P.S. Просьба не пересылать меня на этот вопрос. Он все равно неправильный.

Ответы

▲ 1

Если Вы выполняете скрипт в bash то заключая $NAME в одинарные кавычки Вы исключаете подстановку переменной, т.е в скрипте используется не значение переменной NAME, а просто текстовая строка из 5 символов: $, N, A, M, E.