The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]



"Добавление IP адресов и имен в переменную из файла"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Добавление IP адресов и имен в переменную из файла"  –1 +/
Сообщение от Saamuel email(ok) on 26-Дек-17, 12:36 
Здравствуйте,

Необходимо написать скрипт который бы добавлял параметры в переменные из файла.
Скрипт добавляет ДНС записи в яндекс.

#!/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"mk

C=`echo $ip1.$ip2.$ip3.$ipC`
NAME_C="$NAME"cs

curl -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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Добавление IP адресов и имен в переменную из файла"  +/
Сообщение от Andrey Mitrofanov on 26-Дек-17, 13:52 
> 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/24

while IFS=. read ip1 ip2 ip3 drop_anything_else; do
   [ "$drop_anything_else" ] || continue
   ip4=224

   ...

done <./FILE

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Добавление IP адресов и имен в переменную из файла"  –2 +/
Сообщение от Saamuel email(ok) on 26-Дек-17, 14:45 
>[оверквотинг удален]
>> 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

Спасибо за ваш ответ, а не могли бы вы привести пример скрипта полностью, в программировании вообще не силен.


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Добавление IP адресов и имен в переменную из файла"  +/
Сообщение от ыы on 26-Дек-17, 22:07 
>[оверквотинг удален]
>>> 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
> Спасибо за ваш ответ, а не могли бы вы привести пример скрипта
> полностью, в программировании вообще не силен.

Люди обычно, если понимают что не сильны в некой предметной области - либо не берутся за работу требующую специальных знаний, либо обращаются к высококвалифицированным специалистам, рабочее время которых - обычно дорого...

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Добавление IP адресов и имен в переменную из файла"  +/
Сообщение от Аноним (??) on 30-Дек-17, 01:25 
>[оверквотинг удален]
>>> while IFS=. read ip1 ip2 ip3 drop_anything_else; do
>>>    [ "$drop_anything_else" ] || continue
>>>    ip4=224
>>>    ...
>>> done <./FILE
>> Спасибо за ваш ответ, а не могли бы вы привести пример скрипта
>> полностью, в программировании вообще не силен.
> Люди обычно, если понимают что не сильны в некой предметной области -
> либо не берутся за работу требующую специальных знаний, либо обращаются к
> высококвалифицированным специалистам, рабочее время которых - обычно дорого...

Люди, время которых обычно дорого, не умничают на форумах.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

7. "Добавление IP адресов и имен в переменную из файла"  +/
Сообщение от universite (ok) on 18-Мрт-18, 22:59 
> Люди, время которых обычно дорого, не умничают на форумах.

Можно во время перерыва пробежаться по форумам и оставить свое авторитетное мнение :)

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

4. "Добавление IP адресов и имен в переменную из файла"  +/
Сообщение от Led (ok) on 30-Дек-17, 00:19 
> в программировании вообще не силен.

Берись за метлу.

Или думаешь, что станешь "силён" как только получишь "тройку" в зачётку?

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "Добавление IP адресов и имен в переменную из файла"  +/
Сообщение от Аноним (??) on 18-Мрт-18, 22:56 
> Содержимое файла 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

while 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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема


  Закладки на сайте
  Проследить за страницей
Created 1996-2018 by Maxim Chirkov  
ДобавитьПоддержатьВебмастеруГИД  
Hosting by Ihor