Bash Vergleichsoperator immer wahr
Ich versuche, ein kleines Skript zu schreiben, um meine externe IP-Adresse (die ersten drei Bytes) mit der unten stehenden zu vergleichen.
#!/bin/bash
MYFILE=/home/me/.config/i3/pia
while true
do
IP_EX=$(wget http://ipinfo.io/ip -qO - | cut -d"." -f1,2,3)
if [[ "$IP_EX"=="173.199.65" ]]
then
echo file created
touch $MYFILE
else
echo file deleted
rm -f $MYFILE
fi
echo sleeping
sleep 4
done
Dies gibt für immer 'file created' zurück und die else-Anweisung wird niemals ausgeführt. Dies ist AUCH dann der Fall, wenn ich $ IP_EX durch "whatever" ersetze.