Я пишу сценарий bash для информации об инвентаризации и пытаюсь собрать данные о двух отдельных версиях Red Hat. У них есть два разных типа вывода для ifconfig, поэтому я просто пытаюсь добавить оператор if в уже работающую функцию. Я получаю сообщение об ошибке syntax error: unexpected end of file
. Я предполагаю, что я не закрываю что-то где-то, но я не могу видеть это, хотя я, вероятно, смотрю на это слишком долго. любая помощь будет отличной.
Вот сценарий
#!/bin/sh
OS_VERSION=`cat /etc/redhat-release |awk '{print $0}'`
pat=".*Santiago.*"
num=1
if [[ "$OS_VERSION" =~ $pat ]]; then
for i in `/sbin/ifconfig -a |grep -i -B 3 "UP" |grep -i "HWaddr"|awk '{print $1}'`
do
{
MacAddress=`/sbin/ifconfig $i |grep -i -B 3 "UP" |grep -i "HWaddr"| awk '{print $NF}'`
Ip_Address=`/sbin/ifconfig $i|grep -i "inet addr"|awk '{print $2}'|awk -F: '{print $2}'`
echo -n "ethName$num=$i | ethMac$num=\"$MacAddress\" | ethIp$num=\"$Ip_Address\" | "
num=$(expr $num+1|bc)
}
else
echo "Not Santiago, use other script"
done;
echo "";
exit