LINUX.ORG.RU

помощь с bash-скриптом


0

0

Доброго времени суток.. Бьюсь второй день, не могу понять. Задача - обновлять раз в сутки ip в одном файле, взяв его командой host domen.com Файл my.ip выглядит так:

ip1 12.12.12.12 -c
ip2 13.13.13.13 -c
ip3 77.222.50.50 -c
ip4 44.4.44.111 -c
Скрипт должен обновить ip3 на ip домена, поиск по первым 2м цифрам, они всегда одинаковы. На первый взгляд вроде простейшая задача, однако у меня возникли трудности..

И так, что делаю: Создал простейший скрипт, который как бэ должен был работать..

#!/bin/bash

ip=`host -t A omsklug.ru | awk {print'$4'}`   #выбираю IP
ready="sed -i '/77.222/ c\ip3 ${ip} -c' my.ip"      #создаю строку команды
echo $ready     # для проверки что получилось
$ready       #исполнение команды

Вроде ничего сложного..

vitaliy@gw:~$ ./my.sh
sed -i '/77.222/ c\ip3 77.222.40.40' my.ip
sed: -e выражение #1, символ 1: неизвестная команда: `''

Команда, отданная в эхо и набранная руками\скопированная - работает 100% Тоже самое, но отданное скриптом выдает ошибку :( Почему?...

Сейчас делается так.

#!/bin/bash

ip=`host -t A omsklug.ru | awk {print'$4'}`   #выбираю IP
ready="sed -i '/77.222/ c\ip3 ${ip} -c' my.ip"      #создаю строку команды
echo $ready > my.temp    # сохраняем команду во временный файл
bash my.temp #выполняем
rm my.temp #убиваем временный

Это конечно глубоко через зад, хотелось бы по нормальному.

ps Debian 5.0


Ответ на: комментарий от GotF

«Семен Семеныч»... Точно! Спасибо!

sdgg
() автор топика
Ответ на: комментарий от sdio

Благодарю, выпрямил :) Буду знать.

sdgg
() автор топика

Гугли патч Бармина

anonymous
()

> # для проверки что получилось
Используйте set -x.

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