Не может соединиться с WLAN с netctl

Если Вы используете $xxx синтаксис, затем переменная расширена, и затем результат оценен как арифметическое выражение.

Так,

y=$((${oldvalue[$x]}-${newvalue[$x]}))

Становится

y=$((-4144290000--4009685000))

и ksh жалуется на это неожиданное -- оператор.

Можно обойти его путем добавления пробелов, как Вы узнали, в этом случае это становится:

y=$((-4144290000 - -4009685000))

Но, Вы могли также записать это:

y=$((oldvalue[$x]-newvalue[$x])))

В этом случае содержание переменной расширено как часть арифметической оценки и в этом случае как одно численное значение.

Другое становится еще более важным в случаях как:

a=1+1 b=2
echo "$((a*b)) vs $(($a*$b))"

Который дает 4 vs 3, и точки к одной трети и более устойчивый, чем первый способ работать вокруг проблемы:

y=$(((${oldvalue[$x]}) - (${newvalue[$x]})))
2
26.12.2013, 11:26
3 ответа

Проблема происходит, скорее всего, из-за netctl не любя дефисы в его файлах профиля.

Извлеките оттуда:

Подсказка: Как упомянуто на форумах, потому что systemd рассматривает дефисы специальным способом, с помощью '-' на имя профиля, может привести к проблемам отбрасывания соединения.

Другая выборка (это имеет значение, только если Вы создали свой файл профиля с wifi-menu -o):

Предупреждение: Попытка использовать wifi-menu -o генерировать файл профиля в /etc/netctl/ с '-' на имя, вероятно, перестанет работать. Переименование файла рекомендуется

Как решение, я предложил бы, чтобы Вы удалили дефис из названия Вашего файла профиля, таким образом, название файла профиля закончится, чтобы быть, например, wirelesshome или wireless_home.

После выполнения этого необходимо смочь запустить профиль с netctl start wirelesshome (или независимо от того, что имя профиля), и затем включите его (если Вы хотите, чтобы оно запустилось при начальной загрузке), с netctl enable wirelesshome. Кроме того, при включении предыдущего файла профиля прежде не забудьте отключать его прежде, чем включить новый профиль с netctl disable wireless-home.

4
27.01.2020, 22:00

Попытайтесь соединиться с wifi-menu и если Вы заставляете это работать; сохраните конфигурацию с wifi-menu -o. netctl Wiki

0
27.01.2020, 22:00

Убедитесь, что у вас правильный интерфейс. Проверьте с помощью

ip link

Процедура, которая часто помогает мне решить некоторые проблемы, это (изменить интерфейс и мой _профиль, чтобы они соответствовали вашим настройкам):

sudo ip link set *interface* down
netctl stop-all
netctl start my_profile
0
27.01.2020, 22:00

Теги

Похожие вопросы