Здравствуйте,Необходимо написать скрипт который бы добавлял параметры в переменные из файла.
Скрипт добавляет ДНС записи в яндекс.#!/bin/bash
NAME="100"
DOMAIN="domain.ru"ip1="192"
ip2="168"
ip3="1"
ip4="224"let "ipM = $ip4 + 1"
let "ipC = $ip4 + 2"M=`echo $ip1.$ip2.$ip3.$ipM`
NAME_M="$NAME"mkC=`echo $ip1.$ip2.$ip3.$ipC`
NAME_C="$NAME"cscurl -H "PddToken: 00000000000000000000000" -d "domain=$DOMAIN&type=A&subdomain=$NAME_M&ttl=14400&content=$M" "https://pddimp.yandex.ru/api2/admin/dns/add"
curl -H "PddToken: 00000000000000000000000" -d "domain=$DOMAIN&type=A&subdomain=$NAME_C&ttl=14400&content=$C" "https://pddimp.yandex.ru/api2/admin/dns/add"В таком виде скрипт отрабатывает нормально для одного филиала. Но проблема в том что таких филиалов более 500.
Помогите доработать скрипт чтоб подставлялись значения для переменных NAME и IP из файла.
Содержимое файла NAME:
100;192.168.0.1/24
101;192.168.1.1/24
102;192.168.2.1/24
103;192.168.3.1/24
104;192.168.4.1/24
> M=`echo $ip1.$ip2.$ip3.$ipM`
> C=`echo $ip1.$ip2.$ip3.$ipC`Глаз режет. :/
M="$ip1.$ip2.$ip3.$ipM"
C="$ip1.$ip2.$ip3.$ipC""$ip1.$ip2.$ip3" можно в какой ни то PFX= положить.
> Помогите доработать скрипт чтоб подставлялись значения для переменных NAME и IP из
> файла.
> Содержимое файла NAME:
> 100;192.168.0.1/24
> 101;192.168.1.1/24
> 102;192.168.2.1/24
> 103;192.168.3.1/24
> 104;192.168.4.1/24while IFS=. read ip1 ip2 ip3 drop_anything_else; do
[ "$drop_anything_else" ] || continue
ip4=224...
done <./FILE
>[оверквотинг удален]
>> 100;192.168.0.1/24
>> 101;192.168.1.1/24
>> 102;192.168.2.1/24
>> 103;192.168.3.1/24
>> 104;192.168.4.1/24
> while IFS=. read ip1 ip2 ip3 drop_anything_else; do
> [ "$drop_anything_else" ] || continue
> ip4=224
> ...
> done <./FILEСпасибо за ваш ответ, а не могли бы вы привести пример скрипта полностью, в программировании вообще не силен.
>[оверквотинг удален]
>>> 102;192.168.2.1/24
>>> 103;192.168.3.1/24
>>> 104;192.168.4.1/24
>> while IFS=. read ip1 ip2 ip3 drop_anything_else; do
>> [ "$drop_anything_else" ] || continue
>> ip4=224
>> ...
>> done <./FILE
> Спасибо за ваш ответ, а не могли бы вы привести пример скрипта
> полностью, в программировании вообще не силен.Люди обычно, если понимают что не сильны в некой предметной области - либо не берутся за работу требующую специальных знаний, либо обращаются к высококвалифицированным специалистам, рабочее время которых - обычно дорого...
>[оверквотинг удален]
>>> while IFS=. read ip1 ip2 ip3 drop_anything_else; do
>>> [ "$drop_anything_else" ] || continue
>>> ip4=224
>>> ...
>>> done <./FILE
>> Спасибо за ваш ответ, а не могли бы вы привести пример скрипта
>> полностью, в программировании вообще не силен.
> Люди обычно, если понимают что не сильны в некой предметной области -
> либо не берутся за работу требующую специальных знаний, либо обращаются к
> высококвалифицированным специалистам, рабочее время которых - обычно дорого...Люди, время которых обычно дорого, не умничают на форумах.
> Люди, время которых обычно дорого, не умничают на форумах.Можно во время перерыва пробежаться по форумам и оставить свое авторитетное мнение :)
> в программировании вообще не силен.Берись за метлу.
Или думаешь, что станешь "силён" как только получишь "тройку" в зачётку?
> Содержимое файла NAME:
> 100;192.168.0.1/24
> 101;192.168.1.1/24
> 102;192.168.2.1/24
> 103;192.168.3.1/24
> 104;192.168.4.1/24while IFS= read L; do
NAME=${L%;*}
IP4=${L##*.}
IP4=${IP4%/*}
IP1=${L#*;}
IP1=${IP1%.*}
echo "${NAME}mk ${NAME}cs ${IP1}.$((IP4 + 1)) ${IP1}.$((IP4 + 2))"
done < ./NAME