напишите мне, когда внешний IP изменится

напишите мне, когда внешний IP изменится

Я пытаюсь написать скрипт bash для своего сервера. Этот скрипт запускает curl, чтобы получить последний IP-адрес моего ящика, а затем отправляет мне письмо, если он отличается от старого IP-адреса, сохраненного в файле.

Вот что у меня сейчас:

#!/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

Я тоже пробовал использовать, if; then; else;однако мне не удаётся заставить скрипт реагировать по-разному, когда IP-адреса одинаковые.

Я полагаю, что проблема возникла из-за моего объявления переменной для $y.

решение1

Между операндами в тестовых скобках [ ] необходимо оставлять пробелы.

#!/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

Связанный контент