me envia por email quando alterações externas de ip

0

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

Isso é o que eu 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

Eu tentei usar if; then; else; , mas não consigo fazer o script reagir de maneira diferente quando os endereços IP são os mesmos.

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

    
por mikeymop 16.04.2016 / 21:33

1 resposta

1

Você deve deixar espaços entre os operandos dentro dos 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
    
por 17.04.2016 / 00:05