在我的Linux系统中,执行listdata.sh
输出:
{
"111.111.111.111:11957": 1,
"222.222.222.222:9999": 1,
"333.333.333.333:9999": 1,
"[::]:0": 1,
"444.444.444.444:9999": 1,
"d6iiugkkjfgt3kt2z.onion:47500": 1,
"555.555.555.555:11957": 1,
"666.666.666.666:9999": 1,
"nv52misrzsuyre6.onion:47509": 1,
"777.777.777.777:9999": 1,
":9999": 1,
"[::]:0": 1
}
如果我的 IP 是222.222.222.222
我需要在运行 linux 命令时检查。
“一些命令”“222.222.222.222”“如果找到我的IP”什么都不做“如果没有找到”“做某事”
数据列表有时也转到地址有时也显示 IPv6
答案1
如果找不到您的 IP 地址 222.222.222.222,您可以编写bash
如下脚本来执行操作:
#!/bin/bash
listdata.sh | grep "\"222\.222\.222\.222:" > /dev/null
if [ $? -ne 0 ] # if grep not successful
then
... do some actions
fi
答案2
谢谢@Rui F Ribeiro 这是我的最终脚本
#!/bin/bash
listdata.sh | grep "\"222.222.222.222:" > /dev/null
if [ $? -ne 0 ] # if grep not successful
then
addIPtolist.sh > /dev/null
echo "`date -u` Not in list" >> /var/log/listdata.log
exit
fi
echo "`date -u` OK Still in list" >> /var/log/listdata.log
这是我的循环bash
#!/bin/bash
while true
do
listdata.sh
sleep 60
done