Bash позволяет отображать целые строки текста в отдельные переменные, упрощая его использование и написание скриптов. Как они работают и как их использовать? Давай выясним.
Что такое переменная?
Переменные - это легко запоминающиеся имена, которые могут содержать разные буквенно-цифровые значения. Они полезны, потому что позволяют применять одну и ту же функцию к разным значениям без необходимости переписывать скрипт / фрагмент кода. Они также упрощают написание сценария / фрагмента кода, поскольку вместо работы с отдельными значениями вы можете использовать одно и то же имя для всех из них.
Переменные в реальном времени
Bash позволяет использовать переменные. Вы можете создавать переменные на лету и повторно использовать их во время текущего сеанса Bash. Они могут помочь вам использовать Bash разными способами, и они исчезнут после завершения текущего сеанса.
Например, предположим, что вы посещаете несколько сайтов. Вы могли бы заниматься исследованием или парсингом данных. Вы можете создать следующую переменную:
sitea=https: // techberg.ru
После этого, если вы захотите посетить наш сайт с помощью Firefox, вы можете просто ввести:
firefox $ sitea
Намного проще - и читабельнее. Переменная $ sitea
останется сопоставленной с сайтом, пока вы не измените ее содержимое вручную или не завершится сеанс Bash. И, конечно же, вы можете создать больше переменных, например siteb
, sitec
и sited
.
При настройке новых переменных вы можете использовать любые имена по своему усмотрению и хранить в них любые буквенно-цифровые строки. Однако имейте в виду, что они по умолчанию чувствительны к регистру. Таким образом, $ sitea
не будет таким же, как $ SiteA
. Также обратите внимание, что вы должны использовать кавычки при сохранении строк со специальными символами внутри них (включая пробелы).
Переменные в скриптах
Переменные в Bash более полезны при написании сценариев, поскольку они позволяют вам написать один сценарий, который затем может перебирать разные строки или воздействовать на настраиваемые фрагменты данных. Допустим, вы пишете сценарий, который каждый может использовать на своем компьютере, но каждый раз будет отображать индивидуальное приветствие. Без переменных вам пришлось бы писать разные версии скрипта для каждого пользователя. С переменными вы сохраняете тот же сценарий и меняете только имя пользователя.
Такой сценарий выглядел бы примерно так:
#!/bin/bashusername=Odysseasecho$username
Приведенный выше пример может показаться излишним; однако по мере увеличения сложности кода переменные становятся незаменимыми. Скрипт может состоять из сотен или тысяч строк и содержать имя пользователя в разных местах. Чтобы лучше понять это, рассмотрим следующий несколько иной сценарий:
#!/bin/bash username=Linusecho Hello $username. This is a simple script I wrote that will repeat your name - that is, $username - often as an actual example of how to use Bash variables. I hope it will make it easier to understand how to use variables to improve your Bash workflow, $username. In this case, the variable username is mapped to your name. Whenever Bash runs into it, it replaces it with $username.
Вышеупомянутый сценарий будет использовать имя, определенное как переменная username
, для завершения текста. Если вы используете настоящее имя пользователя, вам придется ввести его четыре раза. Затем сделайте то же самое для следующего пользователя и еще четыре раза для следующего. Снова и снова. Назначив его переменной, вам нужно изменить его только один раз для каждого пользователя, и каждое упоминание имени пользователя в тексте будет обновлено.
Постоянные переменные и псевдонимы Bash
Мы видели, как вы можете временно устанавливать переменные и как, для чего-то более постоянного, вы можете включать их в свои собственные скрипты. Но разве нельзя постоянно устанавливать переменные в Bash? Ответ - большое "ага!" и вам нужно отредактировать только один файл: "~ / .bashrc".
Откройте файл "~ / .bashrc" в вашем любимом текстовом редакторе. Поскольку я предпочитаю нано, я сделал это с помощью:
nano ~ / .bashrc
Мы предлагаем вам начать с пробного запуска, добавив только одну переменную, чтобы вы знали, где искать, если процесс не сработает. Переместитесь в конец файла и в новой строке добавьте свою переменную. Например, я установил переменную для своего имени как:
myname= "Odysseas Kourafalos"
Сохраните файл и выйдите из редактора. Изменения вступят в силу не сразу. Введите в свой терминал следующее, чтобы оно вступило в силу:
исходный текст ~ / .bashrc
Теперь вы можете использовать вновь установленную переменную в сеансе Bash:
echo $ myname
Вы можете установить столько переменных, сколько захотите, и значительно упростить свои ежедневные приключения в Bash.
Для дополнительного повышения производительности стоит также настроить другой тип переменной: псевдонимы. В отличие от типичных переменных, которые сопоставляются с данными, которые вы можете использовать в командах, вместо реальных команд используются псевдонимы.
Подобно тому, как вы можете использовать переменную, которую легко запомнить, для хранения длинных строк текста, вы можете использовать псевдонимы в качестве простой альтернативы сложным командам. Вы можете узнать о них больше здесь, где мы превращаем целую команду сжатия 7zip в двухсимвольный псевдоним.
В заключение, даже если вы установили переменную в .bashrc навсегда, вы можете временно переназначить ей другое значение, как мы видели ранее. Переменная будет представлять новое содержимое до завершения текущего сеанса Bash (после выхода из системы или перезапуска) или до тех пор, пока вы не повторно загрузите файл. bashrc.
По теме: