Bash script - ошибка при сохранении переменной из входного файла - PullRequest
1 голос
/ 14 апреля 2020

У меня есть следующий скрипт, который я создаю:

#/bin/bash -xv
echo "Pls enter your filename with the values:"
read filename
inputfile="$filename"
sc=$(mysql -uuser -ppass db -s -N -e" select min(id) from tableY where paramx= 12 and char_length(address_range) < 246;")
echo $sc
cat $inputfile | while read address_range orig_address_range; do
    row=$address_range
    raw=$(echo "select address_range from tableY where paramx= 12 and id = '$sc';") 
    line=$(echo $raw)
    echo $line
    rowadd=$row"|"$raw
    echo $rowadd
    ((sc++))    
done | mysql -uuser -ppass db;

Итак, цель этого кода будет:

  • Дайте файл со значениями, такими как this - ^ 11223344 $ ^ 1 [0-9] {10} $, где "^ 11223344 $" - диапазон адресов

  • Проверка из таблицы Y и paramx, который является первой записью из address_range меньше 246 по размеру, поэтому я могу добавить к нему новое значение после символа канала ("|")

  • Добавить, скопировать содержимое найденной записи и добавить к ней новое значение

В идеале у меня должно быть что-то вроде этого в конце: ^ 1111111 $ | ^ 22222 $ | ^ 33333333 $ | ^ 44444444 $ | ^ 5555555 $

Поэтому моя главная проблема заключается в том, что при выполнении кода выше я получаю следующий результат:

Pls enter your filename with the values:
Test
861
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '^11223344$
select address_range from tableY where paramx= 12 and id = '861'' at line 1

Таким образом, значение, которое у меня было в файле "Test", равно ^ 11223344 $ ^ 1 [0-9] {10} $, поэтому я могу видеть, что он получает правильное значение, но по какой-то причине он пропускает ошибку и не соединяет два компонента.

Даже если я запускаю только часть строки, с из-за попытки присоединиться к ним у меня есть похожая ошибка:

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '^11223344$' at line 1

Извините за длинный текст, если это сбивает с толку ... это мой первый пост здесь, но я действительно застрял здесь. Любые идеи?

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...