Доброго времени суток!
Идея скрипта брать из текстового файла разделенного пробелами значения переменныхи ставлять их в форму. формируя другой фалик
Есть вот такой скрипт:
#!/bin/bash
OUTFILE=/etc/ipmac_out
IPMACLIST=/etc/ipmac
while read line;
do
HOST=$line | awk '{print $1}'
IP=$line | awk '{print $2}'
MAC=$line | awk '{print $3}'
echo "host ${HOST} { " 1>>$OUTFILE
echo " hardware ethernet ${MAC}" 1>>$OUTFILE
echo "fixed-address ${IP}" 1>>$OUTFILE
echo "}" 1>>$OUTFILE
echo 1>>$OUTFILE
done < $IPMACLIST
Текст файла /etc/ipmac:
Comp1 00:1e:90:e6:b2:a2 10.38.14.8
Comp2 01:1e:90:e6:b2:a2 10.38.14.44
Comp3 02:1e:90:e6:b2:a2 10.38.14.2
COmp4 03:1e:90:e6:b2:a2 10.38.14.11
Скрипт отрабатывает без ошибок.
И выходной фал такого содержания.
host {
hardware ethernet
fixed-address
}
host {
hardware ethernet
fixed-address
}
А должно получатся что то вроде :
host Comp1 {
hardware ethernet 00:1e:90:ee:ec:a3;
fixed-address 10.38.14.16;
}
host Comp2 {
hardware ethernet 00:50:fc:c5:3f:3c;
fixed-address 10.38.14.183;
}
Понимаю что неправильно написана строки :
HOST=$($line | awk '{print $1}')
IP=$($line | awk '{print $2}')
MAC=$($line | awk '{print $3}')
но как написать их правильно не понимаю.
Прошу помощи.