Рейтинг:0

Что-то не так с этим файлом в dispatcher.d? Мои беспроводные соединения безумно нестабильны

флаг in
PMF

# строки 01-ifupdown:

#!/bin/sh -e
# Скрипт для отправки событий NetworkManager
# Запускает сценарии ifupdown, когда NetworkManager возится с интерфейсами.
# См. NetworkManager(8) для дальнейшей документации по событиям диспетчера.
# Мы не обрабатываем события изменения подключения в ifupdown, поэтому просто выйдите в
# эта точка
if [ "$2" = "изменение подключения" ]; тогда
    выход 0;
если [-z "$1"]; тогда
    echo "$0: вызывается без интерфейса" 1>&2
    выход 1;
if [ -n "$IP4_NUM_ADDRESSES" ] && [ "$IP4_NUM_ADDRESSES" -gt 0 ]; тогда
   ADDRESS_FAMILIES="$ADDRESS_FAMILIES Интернет"
if [ -n "$IP6_NUM_ADDRESSES" ] && [ "$IP6_NUM_ADDRESSES" -gt 0 ]; тогда
   ADDRESS_FAMILIES="$ADDRESS_FAMILIES инет6"
# Если у нас есть VPN-соединение, игнорируйте базовые IP-адреса.
если [ "$2" = "vpn-up" ] || [ "$2" = "vpn-down"]; тогда
   АДРЕС_СЕМЬИ=""
если [ -n "$VPN_IP4_NUM_ADDRESSES" ] && [ "$VPN_IP4_NUM_ADDRESSES" -gt 0 ]; тогда
   ADDRESS_FAMILIES="$ADDRESS_FAMILIES Интернет"
если [ -n "$VPN_IP6_NUM_ADDRESSES" ] && [ "$VPN_IP6_NUM_ADDRESSES" -gt 0 ]; тогда
   ADDRESS_FAMILIES="$ADDRESS_FAMILIES инет6"
# Вероятно, мы отключаем интерфейс.
[ -n "$ADDRESS_FAMILIES" ] || ADDRESS_FAMILIES="инет"
# Поддельная среда ifupdown
экспортировать IFACE="$1"
экспорт ЛОГИЧЕСКИЙ = "$1"
МЕТОД экспорта = "Менеджер сети"
экспорт ПОДРОБНО = "0"
для i в $ADDRESS_FAMILIES; делать
    экспортировать ADDRFAM="$i"
    # Запускаем правильные скрипты
    случай "$2" в
        up|vpn-up)
            РЕЖИМ экспорта = "старт"
            экспорт ФАЗА = "пост-ап"
            части выполнения /etc/network/if-up.d
            ;;
        вниз|vpn-вниз)
            РЕЖИМ экспорта = "стоп"
            экспорт ФАЗА = "пост-вниз"
            части выполнения /etc/network/if-post-down.d
            ;;
# pre-up/pre-down не реализовано. Видеть
# https://bugzilla.gnome.org/show_bug.cgi?id=387832
# предварительно)
# экспорт РЕЖИМ="старт"
# экспорт PHASE="предварительный"
# части выполнения /etc/network/if-pre-up.d
# ;;
# предварительно вниз)
# экспорт РЕЖИМ="стоп"
# export PHASE="pre-down"
# части выполнения /etc/network/if-down.d
# ;;
        имя хоста|dhcp4-change|dhcp6-change)
            # Ничего не делать
            ;;
        *)
            echo "$0: вызвано с неизвестным действием \`$2'" 1>&2
            выход 1
            ;;
    эсак
сделано

Убунту 21.04 Гном 5.11

Итак, для получения количества аргументов:

$# 

Я добавляю это после

&1

?

waltinator avatar
флаг it
Всегда вставляйте свой скрипт в `https://shellcheck.net`, средство проверки синтаксиса или устанавливайте `shellcheck` локально. Сделайте использование `shellcheck` частью вашего процесса разработки. Кроме того, проверка `$1` ПОСЛЕ того, как вы используете `$2`, неверна. Используйте `$#`, чтобы получить количество аргументов. Прочтите `man bash`.
waltinator avatar
флаг it
Смотри логи! `sudo -b 0 -u NetworkManager`. Прочтите `man journalctl`.
bac0n avatar
флаг cn
Вы не можете анализировать текст со строками, он отбрасывает непечатаемые символы и строки короче 4.
PMF avatar
флаг in
PMF
Какую команду я должен использовать тогда?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.