Если Вы действительно хотите искать назад общие символы соответствия, можно использовать один из них vim
- определенные команды:
[(
... (перейдите к несопоставленному предыдущему (
символ)[{
... (перейдите к несопоставленному предыдущему {
символ)Эти две команды имеют соответствие вперед партнерам:
])
... (перейдите к несопоставленному следующему )
символ)]}
... (перейдите к несопоставленному следующему }
символ)Существуют другие подобные команды для #ifdef
и для комментариев C.
Можно найти больше когда в vim
при помощи команды :help %
.
Было бы лучше сделать сценарий, который инициирован любое время изменения конфигурации сети, и имейте тот сценарий, безусловно обновляют DNS. При использовании Администратора сети такой сценарий может войти /etc/NetworkManager/dispatcher.d
- см. networkmanager (8) для деталей.
Если Вы не используете администратора сети, /etc/dhcp/dhclient-enter-hooks.d
могло бы быть более соответствующим.
Затем Вы ничего не должны будете опрашивать.
Что-то вроде этого сделало бы:
#!/bin/bash
# "${0%.sh}.myip" transforms /path/to/script.sh to /path/to/script.myip
if [[ ! -s "${0%.sh}.myip" ]]; then echo "0.0.0.0" > "${0%.sh}.myip"
newip=$(curl -k -X PUT -d "" https://entrydns.net/records/modify/TOKEN)
read oldip < "${0%.sh}.myip"
echo $newip > "${0%.sh}.myip"
if [[ $newip != $oldip]]; echo "IP changed"; fi