Как использовать пару одинарных кавычек внутри двойных кавычек в bash? - PullRequest
1 голос
/ 23 августа 2011

Я собираюсь написать скрипт bash для манипулирования данными пользователя в базе данных mysql.

Вот проблема.Мне нужно передать значение переменной в строку запроса Mysql:

read USERNAME;
echo  "USE drupdb; SELECT uid  FROM users WHERE name= '%USERNAME';"  > /tmp/query.sql ;

Какие бы комбинации я ни использовал (включая обратные косые черты перед одинарными кавычками для их выделения), это не помогло.Я все еще получаю что-то, кроме значения% USERNAME внутри query.sql.

Я ценю ваши подсказки.

1 Ответ

1 голос
/ 23 августа 2011

Вам нужно использовать $ для разыменования переменной. Измените %USERNAME на $USERNAME и все должно работать нормально:

read USERNAME;
echo  "USE drupdb; SELECT uid  FROM users WHERE name= '$USERNAME';"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...