Передача аргументов из файла

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Гость
проходил мимо

Передача аргументов из файла

Непрочитанное сообщение Гость » 2012-06-25 17:57:13

Здравствуйте
Есть текстовый файл где храниться логин -пароль пользователя
надо передать их в выражение

Код: Выделить всё

/#dovecotpw -s MD5-CRYPT -u (имя пользователя) -p (пароль пользователя)
Пробовал передавать через awk -выдает фигню (екранировал вызов dovecotpw обратными кавычками выдает неверный синтаксис) как я понял вызов другой програмы напрямую с awk не поддержываеться

Код: Выделить всё

cat test.txt | awk '{a = dovecotpw -s MD5-CRYPT -u $1 -p $2; print a}' 

пробовал читать файл через цыкл но тогда переменной присваеваеться строка целиком что тоже не правильно

Код: Выделить всё

#!/bin/sh
cat test.txt | awk '{ print $1, $2}' | while read line
do
dovecotpw -s MD5-CRYPT -u $line -p $line
done
exit 0
Убедительно прошу вас показать путь на светлую сторону. В какую сторону смотреть :oops:

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: Передача аргументов из файла

Непрочитанное сообщение kpp » 2012-06-25 18:31:33

Код: Выделить всё

#!/bin/sh
while read user_name pass
do
dovecotpw -s MD5-CRYPT -u $user_name -p $pass
done < test.txt
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

mmvds
мл. сержант
Сообщения: 92
Зарегистрирован: 2011-01-26 17:24:07

Re: Передача аргументов из файла

Непрочитанное сообщение mmvds » 2012-06-25 18:44:52

Код: Выделить всё

#!/bin/sh
OIFS=$IFS; IFS=:
while read user_name pass
do
dovecotpw -s MD5-CRYPT -u $user_name -p $pass
done < test.txt
IFS=$OIFS
В дополнение к kpp небольшая хитрость, если разделитель между логином/паролем не пробел, а например, ":"

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: Передача аргументов из файла

Непрочитанное сообщение kpp » 2012-06-25 20:09:41

Какая ж это хитрость ;)
Если разделитель знак двоеточия, хитрость от лукавого:

Код: Выделить всё

while IFS=: read user_name pass
do
 dovecotpw -s MD5-CRYPT -u $user_name -p $pass
done < test.txt
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.