LINUX.ORG.RU

Построчное чтение и добавление в DB (Bash)

 ,


0

1

Всем привет. Есть функция которая читает ldap и возвращает список пользователей :

function get_info { 
                info=$(ldapsearch -h $host -D $user -w $pass -b $base_name $group  -LLL  | \ 
                grep member |\ 
                awk -F '[=,]' '{print $2}') 
                if [ "$info" ]; then 
                    echo "$info" 
                else 
                    echo "Oooupss" 
                    exit 1 
                fi 
}

Нужно добавить пользователей в БД mysql, для этого написал скрипт:

mysql -u $usr -p%pas &db -e "insert $tb (login) values ('$info')";

и получаю в базе запись виде:

 |      13 | adb 
acs 
asc 
asd 
qwe 
cde                                         |        NULL |

Как мне построчно читать файл и вводить в БД каждое значение отдельно? Или может есть идеи как поступить лучше?



Последнее исправление: saymyname (всего исправлений: 1)

Ну ты уже получил список в $info - делай цикл примерно так:

for i in $info
do
   echo $i
   mysql -e "insert $tb (login) values ('$i')"
done
sigurd ★★★★★
()
Последнее исправление: sigurd (всего исправлений: 2)

Рассказать, зачем ты при наличии актуальной базы пользователей делаешь копию. Глобально пока выглядит как раскидывание себе граблей.

t184256 ★★★★★
()
Ответ на: комментарий от sigurd

Получилось, спасибо! пробовал делать через while но результат огорчал..

saymyname
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.