脚本处理逻辑
各位大佬好:脚本如下:
#!/bin/sh
vip=`cat /etc/keepalived/keepalived.conf | grep -C 8 'check'| sed -n '/virtual_ipaddress/{n;p}'| awk '{print $1}'`
echo "$vip" >> /home/mysql/a.log
count=`ip a | grep "$vip" | wc -l`
if [[ $count -eq 0 ]]; then
echo `date "+%Y-%m-%d %H:%M:%S"` >> /home/mysql/123.log
echo "123456789" >> /home/mysql/123.log
else
echo `date "+%Y-%m-%d %H:%M:%S"` >> /home/mysql/456.log
fi
问题:
1、当count变量的值为1时,为啥会输出文件123.log? 不应该是执行else分支吗?
#!/bin/sh
vip=`cat /etc/keepalived/keepalived.conf | grep -C 8 'check'| sed -n '/virtual_ipaddress/{n;p}'| awk '{print $1}'`
echo "$vip" >> /home/mysql/a.log
count=`ip a | grep "$vip" | wc -l`
#这里加上如下一行,确定count的值是不是等于1
echo "$count"
if [[ $count -eq 0 ]]; then
echo `date "+%Y-%m-%d %H:%M:%S"` >> /home/mysql/123.log
echo "123456789" >> /home/mysql/123.log
else
echo `date "+%Y-%m-%d %H:%M:%S"` >> /home/mysql/456.log
fi 把count变量输出到一个文件中看结果是0,但是vip变量是有值的,那应该是个1,为啥是0没明白。 本帖最后由 Shell_HAT 于 2022-04-24 14:40 编辑
回复 3# fantingftt123
观察一下到底是哪个环节出了问题
...
echo ---$vip---
ip a | grep "$vip"
ip a | grep "$vip" | wc -l
count=`ip a | grep "$vip" | wc -l`
echo $count
...
页:
[1]