
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
22.06.2004, 01:35
|
|||
|---|---|---|---|
|
|||
MySQL и shell |
|||
|
#18+
Здравствуйте! Пытаюсь через шелл (ASPLinux9.2) работать с MySQL. Надо определить наличие строки в базе и если ее нет, то произвести запись. Вот такой запрос прекрасно работает: mysql -u$user -p$pass $base <<QUERY_INPUT SELECT date FROM my_tabl WHERE date = $cur_date; QUERY_INPUT и если запись есть, то выдает на экран: [test@host123 test]$ ./test.sh date 20040621 Подскажите как это использовать для проверки по if, а то как не пробую всё получается ошибка... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.06.2004, 13:46
|
|||
|---|---|---|---|
MySQL и shell |
|||
|
#18+
Что-то типа (навскидку не проверяя) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Кавычки вокруг mysql.... обратные, не должно быть пробелов после RES перед = и тд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.06.2004, 21:06
|
|||
|---|---|---|---|
|
|||
MySQL и shell |
|||
|
#18+
Спасибо, Хрен! Все очень даже работает. Вот только для меня не понятна конструкция if [ x$RES == x ] Понимаю, что учить новичков скучно и не интересно , но ткни хотя бы носом в мануал, чтобы самому разобраться. Как говорится, гуру силён своими учениками :-)))))))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.06.2004, 00:07
|
|||
|---|---|---|---|
MySQL и shell |
|||
|
#18+
Это такая проверка па пустую строку. Если сделать по простому типа if [ $RES == 'чтоточтовернулсервер' ] то при пустой RES оно превратится в if [ == 'чтоточтовернулсервер' ] и shell выдаст тут синтаксическую ошибку. А конструкция if [ x$RES == x ] при пустом RES превратится в if [ x==x], чего мы и добивались.. Это просто такой прием, к которому я привык. на самом деле есть и другие способы проверять, пустая ли переменная в shell. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.06.2004, 03:04
|
|||
|---|---|---|---|
|
|||
MySQL и shell |
|||
|
#18+
Ага, спасибо за пояснения.... Но только в моем случае такая проверка не проходит, т.к. echo $res выдает такой результат при наличии записи в БД: [test@host123 test]# ./test.sh date 20040623 Соответственно при проверке получается [ xdate 20040623 == x ], на что bash ругается грязными английскими словами :-) Я попробовал немного изменить проверку [ "$RES" == "" ] и все стало хорошо. Еще раз спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1855050]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
25ms |
get forum data: |
3ms |
get page messages: |
83ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 440ms |

| 0 / 0 |
