2013-08-23 2 views
0

Я написал скрипт для выполнения моей базы данных запросаСамопроизвольное выход в скрипт для MySQL Query

mysql -uroot -pshruti2 -B -e "use WebNmsDB;select HEADERINDEX from tekelec_meas_headers where CLLI=$clli and IVALSTART>="$ivalstart" and IVALSTART<"$ivalend" and RPTTYPE="$rpttype";" > win.txt 

Но выход в win.txt является

/mysql Ver 14.12 Distrib 5.0.44, for unknown-linux-gnu (x86_64) using EditLine wrapper 
Copyright (C) 2002 MySQL AB 
This is commercial software, and use of this software is governed 
by your applicable license agreement with MySQL 
Usage: /Tekelec/WebNMS/mysql/bin/mysql [OPTIONS] [database] 

, где это происходит не так ?

+0

Нам нужно более подробно, пожалуйста, отредактируйте свой вопрос, чтобы включить код перед вызовом mysql, который показывает, как/что вы устанавливаете переменные, содержащиеся в запросе, то есть '$ clli," $ ivalstart "и т. Д. Удачи , – shellter

ответ

0

Использовать '$var' вместо "$var". Вы должны использовать только двойные кавычки для открытия и закрытия команды MYSQL.

Теперь команда будет выглядеть следующим образом:

mysql -uroot -pshruti2 -B -e "use WebNmsDB;select HEADERINDEX from tekelec_meas_headers where CLLI=$clli and IVALSTART>='$ivalstart' and IVALSTART<'$ivalend' and RPTTYPE='$rpttype'" > win.txt 

последнее: Если я не ошибаюсь, то вам не нужно последнюю точку с запятой, как он используется только для разделения нескольких команд и не закончить их.

Смежные вопросы