Доброго времени суток.. Бьюсь второй день, не могу понять. Задача - обновлять раз в сутки 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
И так, что делаю: Создал простейший скрипт, который как бэ должен был работать..
#!/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