내 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
이것은 내 루프 배쉬입니다
#!/bin/bash
while true
do
listdata.sh
sleep 60
done