Я написал следующий скрипт, чтобы найти свой динамический c publi c IP-адрес и сохранить частоту его изменения
#!/usr/bin/env bash
ip=0
change=0
for ((count = 10000; count != 0, change == 10; count--)); do
fetch="$(dig +short myip.opendns.com @resolver1.opendns.com)"
dig +short myip.opendns.com @resolver1.opendns.com >>/home/nik/Desktop/file.txt
if [ $ip == 0 ]; then
ip=fetch
elif [ $ip != "$fetch" ]; then
change++
echo $ip
echo " changed to "
echo "$fetch"
echo " at "
echo date
else
echo ""
fi
echo "123"
sleep 13
(( count--))
done
Я сохранил файл как скрипт. sh и изменил его исполняемый файл разрешения с использованием
chmod +x script.sh
Когда я независимо запускаю команду dig (в следующей строке) или команду echo непосредственно в терминале, они записывают вывод в файл без проблем
dig +short myip.opendns.com @resolver1.opendns.com>>/home/nik/Desktop/file.txt
, но когда я запускаю сценарий, он не показывает выходных данных и ничего не записывает в текстовый файл. Я использую Ubuntu 19.10, если это имеет значение. Изменить: добавил Шебанг и изменил ожидания, чтобы спать