замена значения одной переменной другой.
Это описание неверно по нескольким пунктам. Замена переменной заменяет имя переменной (плюс немного синтаксической ерунды) на ее значение. Кроме того, он работает не «в» переменной, а в команде. Это может быть команда, которая устанавливает значение переменной, но это только один случай из многих.
Например, команда
echo $foo
отображает значение переменной. Исходный код содержит$foo
, а соответствующий вывод содержит значение переменнойfoo
.Причина, по которой это называется «подстановкой переменных», заключается в том, что оболочка работает с последовательностью преобразований строк (и списков строк). Например (упрощенно), рассмотрим команду
ls -l $dir/*.$ext
. Чтобы оценить это, последовательно происходит несколько вещей:
- Оболочка начинает анализировать команду и разбивает ее на три слова:
ls
,-l
и$dir/ *.$ext
.- В третьем слове оболочка видит две подстановки переменных для выполнения (именно это означает знак доллара в данном контексте). Предположим, что значение
dir
равно/some/path
, а значениеext
равноtxt
, тогда оболочка перезаписывает$dir/*.$ext
в/some/path/*.txt
. Это подстановка, потому что значение каждой переменной заменяется синтаксисом имени доллара.- Оболочка расширяет шаблон подстановочных знаков
/some/path/*.txt
в список совпадающих имен файлов.- Оболочка выполняет
ls
с вычисленными аргументами.(Синтаксис
$foo
не просто заменяет значение переменной, но это уже другая история.)В большинстве языков программирования для получения значения переменной достаточно напишите имя переменной. Оболочка предназначена для интерактивного использования; если вы пишете имя, оно интерпретируется как буквальная строка. Вот почему в синтаксисе для получения значения переменной есть дополнительный маркер, говорящий: «Я хочу получить значение переменной».
почему это действие требует специального термина вместо того, чтобы просто сказать «изменение значения переменной с редактированием его вручную в текстовом редакторе»?
Подстановка переменной не имеет ничего общего с изменением значения переменной. Изменение значения переменной является присваиванием.
Конечно, присваивание может содержать подстановки переменных, как и любая другая команда. Но подстановки переменных не предназначены специально для присваиваний.
Кроме того, вы не можете изменить значение переменная с помощью редактора. Уже объявленная переменная имеет значение в каждом процессе, это не конфигурация системы. У вас могут быть файлы конфигурации, которые устанавливают начальное значение переменной, и вы можете использовать редактор чтобы изменить это начальное значение в этих файлах, но после этого значение может измениться.
Пожалуйста, проверьте, открыт ли порт 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