Автоматическое подключение к скрытой беспроводной сети без повышения привилегий

Когда вы используете LANG=C gcc ..., происходит то, что оболочка устанавливает LANG только для среды gcc, а не для самой текущей среды (см. примечание). Таким образом, после окончания gcc, LANG возвращается к своему предыдущему значению (или не задан).

Кроме того, когда вы используете A=10 echo $A, это только , который заменяет $ A, а не echo, и эта подстановка (называемая «расширение») происходит до того, как оператор будет оценен (включая назначение), поэтому для работы, как ожидалось, значение A должно быть уже установлено в не [!d2 ] перед этим утверждением.

Вот почему A=10 echo $A работает не так, как ожидалось: A=10 будет установлен для эха, но echo внутренне игнорирует значение переменной среды A. И $A заменяется значением, установленным в перед (которое равно none), а затем передается как аргумент для эха.

Итак, ваше предположение верно: , тогда работает, но это актуально только в том случае, если command внутренне использует VAR. Если нет, вы можете передать value в качестве current в command, но аргументы заменяются текущей оболочкой, поэтому они должны быть установлены до использования: VAR=value; command "$VAR"

Если вы знаете, как создать исполняемый скрипт, вы можете попробовать это как тест:

#!/bin/sh
echo "1st argument is $1"
echo "A is $A"

Сохраните его как testscript и попробуйте:

$ A=5; A=10 testscript "$A"; echo "$A"
1st argument is 5
A is 10
5

И последнее, но не менее важное: стоит знать, что разница между использует и переменные среды и программу current .

Вот несколько хороших ссылок:

Как читать и устанавливать переменные среды и оболочки на Linux VPS. Понимание оболочек Unix и переменных среды

. [!d31 ]

(*) Примечание: технически среда оболочки также установлена ​​в текущей среде, и вот почему: Некоторые команды, такие как echo, read и test, являются оболочками, и поэтому они не порождают дочерний процесс. Они работают в текущей среде. Но оболочка заботится о том, чтобы назначение выполнялось только до тех пор, пока команда не будет запущена, поэтому для всех практических целей эффект будет таким же: присваивание рассматривается только одной командой.

1
задан 8 December 2016 в 04:03

2 ответа

Если даже после всех предупреждений об использовании скрытого SSID вы все равно хотите его использовать, вы можете это сделать.

Создайте скрипт, например. ~ / bin / nm-connect-me.sh с содержимым следующего содержания:

#!/bin/sh
#
# Automatically try to connect to 'MyWiFi' when WiFi is enabled
#

# the output of nmcli should be in English
LC_ALL=C

# loop for a while until NetworkManager is accepting commands
while [ "$(nmcli -t -f WIFI,STATE nm)" = 'enabled:disconnected' ]
do
 nmcli con up id MyWiFi
 sleep 5
done

exit 0

Затем добавьте его в список загружаемых приложений.

Конечно, вы должны заменить MyWiFi по имени вашего SSID.

Эта информация была извлечена из: http://blog.nixpanic.net/2011/01/connect-automatically-and-immediately.html

3
ответ дан 26 May 2018 в 00:51
  • 1
    Я пробовал этот метод, но я получаю это, когда я пытаюсь запустить скрипт, чтобы проверить, действительно ли он работает: Ошибка: объект «nm» неизвестен, попробуйте «помощь по использованию янтаря». Есть предположения ?. Я на Debian 8 – Maciej Cygan 15 May 2015 в 16:47
  • 2
    Для будущих читателей я решил «Объект« нм »неизвестен». в Ubuntu 16.04, используя вместо этого $(nmcli -t -f WIFI,STATE g). – making3 9 November 2016 в 21:22

Вы можете установить пароль хранилища ключей пустым, поэтому вам больше не будет запрашиваться пароль (я имею в виду пароль хранилища ключей, а не пароль вашей учетной записи, очевидно).

1
ответ дан 26 May 2018 в 00:51
  • 1
    Это звучит многообещающе - но где я могу найти настройки хранилища ключей? Мое предыдущее использование ubuntu было в виртуальной машине, поэтому я не знаком со многими сетевыми настройками (так как хозяин VM позаботился об этом ...) – Marc Gravell♦ 23 October 2010 в 14:32
  • 2
    @Marc System- & gt; Preferences- & gt; Пароли и ключи шифрования – Douglas Leeder 23 October 2010 в 22:22
  • 3
    -1: почему вы хотите уменьшить безопасность всех ключей и паролей в ключевом крае? :П – Blacklight Shining 26 October 2012 в 05:15

Другие вопросы по тегам:

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