Я думаю, что dscacheutil
— это то, что вам нужно. Он поддерживает кэширование, /etc/hosts, mDNS (для .local).
dscacheutil -q host -a name foo.local
Другой вариант — dns-sd
dns-sd -q foo.local
Проблема не с вашим скриптом, а с файлами, к которым он пытается получить доступ: все файлы и каталоги, расположенные в каталоге /sys, принадлежат root
(что не показано командой getfacl
).
Что вы можете сделать, так это запустить скрипт от имени root, или изменить разрешения файлов, к которым вы пытаетесь получить доступ (но это вообще не рекомендуется).