Я хочу написать скрипт и поместить его в /etc/rc.local
чтобы
если LAN подключен, то
rfkill block all
еще
nmcli con up id 'Network id' --nowait
Как я должен написать часть if
и как я должен проверить, что "LAN подключен"?
Если локальная сеть работает, у вас будет маршрут по умолчанию; в противном случае вы не должны. Поэтому вместо того, чтобы проверять конкретные интерфейсы, я бы просто проверил маршрут по умолчанию.
У меня нет Linux-бокса для тестирования, поэтому я не могу сказать, что дает ip(8), но у route(8) довольно плохие коды выхода из-за ошибок, когда нет маршрутов, поэтому вместо этого я бы просто положился на код выхода grep - если есть строка interface:, то у вас есть локальная сеть.
function have_lan() {
route -n get default | fgrep -q interface:
}