Скорее всего, переменная CHAT не определена в среде, в которой выполняются скрипты motd; она локальна для вашего процесса оболочки, а не задана глобально. Если вы начнете новую сессию shell, вы должны заметить, что переменная недоступна.
По умолчанию shell заменяет неопределенные переменные пустыми, поэтому строка $CHAT
воспринимается как пустая, без вариантов.
#4, вероятно, не работает, потому что указан неверный путь: вы ищете файл в /etc/hack.chat/WOTD, но файл находится не там, а в /srv/hack.chat/WOTD. Вы даже не получаете сообщения об ошибке, потому что ваш скрипт сначала проверяет, является ли /etc/hack.chat/WOTD исполняемым, а это не так, потому что по этому пути файла нет, и не пытается его запустить.
Установите ipv4.dns-priority
по крайней мере для одного из профилей, чтобы указать относительный порядок.
Например
nmcli connection modify "$PROFILE" ipv4.dns-priority 5
и повторно активируйте соединение.
Подробнее см. в руководстве nm -настройки (5 ).