Я работаю над сценарием оболочки для автоматизации некоторых серверных задач.Одна из основных вещей, которые мне нужно сделать, - это настройка.
Я пытаюсь найти быстрый способ извлечь данные из одного источника, а затем заменить данные из другого источника.Короче говоря, я пытаюсь заменить IP-адрес в my.cnf на один из ifconfig.IP-адрес, который я хочу изменить, является адресом привязки.
Вот пример того, что я хочу сделать:
A.Используйте ifconfig - для получения информации о сети (которая будет включать в себя IP-адрес).
B.С этим выводом используйте регулярное выражение для извлечения только IP-адреса
C.Используйте IP-адрес для замены значения адреса привязки в my.cnf
Я не очень разбираюсь в конвейере и перенаправлении.Я почти уверен, что мне может потребоваться вывести переменную, а затем использовать эту переменную в другой команде для завершения операции?И будет ли это проще сделать с perl?
РЕДАКТИРОВАТЬ
Вот код, который это сделал:
ip=`ifconfig eth0 | grep "inet addr"| cut -d ":" -f2 | cut -d " " -f1` ; sed -i "s/\(bind-address[\t ]*\)=.*/\1= $ip/" /etc/mysql/my.cnf
Большое спасибо Jaidev Sridharдля направления.