【发布时间】:2018-08-30 20:35:43
【问题描述】:
我正在为库存信息编写一个 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
【问题讨论】:
-
awk '{print $0}'打印其输入不变,您的意思是$1? -
@thatotherguy 谢谢你,先生,这有帮助!它让那部分工作,现在我只有一堆其他的事情要做。非常感谢!
标签: bash for-loop if-statement