Сервер Azure Ubuntu недоступен с удаленного компьютера

замена значения одной переменной другой.

Это описание неверно по нескольким пунктам. Замена переменной заменяет имя переменной (плюс немного синтаксической ерунды) на ее значение. Кроме того, он работает не «в» переменной, а в команде. Это может быть команда, которая устанавливает значение переменной, но это только один случай из многих.

Например, команда echo $foo отображает значение переменной. Исходный код содержит $foo, а соответствующий вывод содержит значение переменной foo.

Причина, по которой это называется «подстановкой переменных», заключается в том, что оболочка работает с последовательностью преобразований строк (и списков строк). Например (упрощенно), рассмотрим команду ls -l $dir/*.$ext. Чтобы оценить это, последовательно происходит несколько вещей:

  1. Оболочка начинает анализировать команду и разбивает ее на три слова: ls, -l и $dir/ *.$ext.
  2. В третьем слове оболочка видит две подстановки переменных для выполнения (именно это означает знак доллара в данном контексте). Предположим, что значение dir равно /some/path, а значение ext равно txt, тогда оболочка перезаписывает $dir/*.$ext в /some/path/*.txt. Это подстановка, потому что значение каждой переменной заменяется синтаксисом имени доллара.
  3. Оболочка расширяет шаблон подстановочных знаков /some/path/*.txt в список совпадающих имен файлов.
  4. Оболочка выполняет ls с вычисленными аргументами.

(Синтаксис $foo не просто заменяет значение переменной, но это уже другая история.)

В большинстве языков программирования для получения значения переменной достаточно напишите имя переменной. Оболочка предназначена для интерактивного использования; если вы пишете имя, оно интерпретируется как буквальная строка. Вот почему в синтаксисе для получения значения переменной есть дополнительный маркер, говорящий: «Я хочу получить значение переменной».

почему это действие требует специального термина вместо того, чтобы просто сказать «изменение значения переменной с редактированием его вручную в текстовом редакторе»?

Подстановка переменной не имеет ничего общего с изменением значения переменной. Изменение значения переменной является присваиванием.

Конечно, присваивание может содержать подстановки переменных, как и любая другая команда. Но подстановки переменных не предназначены специально для присваиваний.

Кроме того, вы не можете изменить значение переменная с помощью редактора. Уже объявленная переменная имеет значение в каждом процессе, это не конфигурация системы. У вас могут быть файлы конфигурации, которые устанавливают начальное значение переменной, и вы можете использовать редактор чтобы изменить это начальное значение в этих файлах, но после этого значение может измениться.

1
09.03.2019, 15:48
1 ответ

Пожалуйста, проверьте, открыт ли порт mysql в брандмауэре Ubuntu, и Microsoft Azure также использует группу сетевой безопасности (NSG)брандмауэр, чтобы разрешать и запрещать порт.

Чтобы открыть порт на виртуальной машине Azure Ubuntu, необходимо использовать NSG (группу безопасности сети ), которая является брандмауэром Azure.

Вход на портал Azure(portal.azure.com)

Найдите и выберите группу ресурсов для виртуальной машины, выберите Добавить , затем найдите и выберите группу безопасности сети.

Выберите Создать.

Откроется окно Создать группу безопасности сети .

Введите имя для вашей группы безопасности сети .

Выберите или создайте группу ресурсов , затем выберите расположение .

Выберите Создать, чтобы создать группу безопасности сети .

Создайте правило безопасности для входящего трафика

Выберите новую группу безопасности сети.

Выберите Правила безопасности для входящего трафика , затем выберите Добавить .

Выберите общую службу в раскрывающемся -меню , например MySQL . Вы также можете выбрать Пользовательский , если хотите указать определенный порт для использования.

При необходимости измените Приоритет или Имя. Приоритет влияет на порядок применения правил :: чем меньше числовое значение, тем раньше применяется правило.

Выберите Добавить , чтобы создать правило.

Вам также необходимо внести свой IP-адрес в белый список базы данных, чтобы включить удаленный доступ.

Пожалуйста, обратитесь к приведенному ниже URL-адресу, который поможет вам открыть порт для виртуальной машины Ubuntu.

https://docs.microsoft.com/en-us/azure/virtual-machines/windows/nsg-quickstart-portal

1
28.01.2020, 01:06

Теги

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