envie-me um e-mail quando o IP externo mudar

envie-me um e-mail quando o IP externo mudar

Estou tentando escrever um script bash para meu servidor. O que esse script faz é executar curl para obter o endereço IP mais recente da minha caixa e depois me enviar um e-mail se for diferente do endereço IP antigo armazenado em um arquivo.

Isto é o que tenho agora:

#!/bin/bash
#if ip address changes do
x=$(curl -4 "icanhazip.com")
y=$(cat ./oldIP.txt )
if [ "$x"!="$y" ];
    then
    echo "Current IP Address is $x"
    echo "Previous IP address is $y"
#   y=$x
elif [ "$x"="$y"]
    then
    echo "The IP addresses are the same"
fi
#send email to me

Tentei usar if; then; else;também, mas não consigo fazer o script reagir de maneira diferente quando os endereços IP são iguais.

Acredito que o problema decorre da minha declaração de variável para $y.

Responder1

Você deve deixar espaços entre os operandos entre colchetes de teste [ ].

#!/bin/bash
#if ip address changes do
x=$(curl -4 icanhazip.com )
y=$(cat ./oldIP.txt )
if [ "$x" != "$y" ]
    then
    echo "Current IP Address is $x"
    echo "Previous IP address is $y"
#   y=$x
else
    echo "The IP addresses are the same"
fi
#send email to me

informação relacionada