Переменные используются для хранения значений различных типов во время выполнения программы. В сценариях Bash есть два типа переменных: глобальные и локальные.
Глобальные переменные могут использоваться всеми сценариями Bash в вашей системе, тогда как локальные переменные могут использоваться только внутри сценария (или оболочки), в котором они определены.
Глобальные переменные обычно предоставляются в системе по умолчанию и в основном являются переменными среды и конфигурации. Локальные переменные, с другой стороны, определяются пользователем и могут использоваться произвольно.
Локальные переменные Bash
Чтобы создать переменную, вам нужно присвоить значение имени вашей переменной. Bash — нетипизированный язык, поэтому вам не нужно указывать тип данных при определении ваших переменных.
var1=Привет
Bash также позволяет выполнять несколько присваиваний в одной строке:
а=6 б=8 в=9
Как и во многих других языках программирования, в Bash используется оператор присваивания = для присвоения значений переменным. Важно отметить, что по обе стороны от оператора присваивания не должно быть пробелов. В противном случае вы получите ошибку компиляции.
Связанный: Что означает «Bash» в Linux?
Еще один ключевой момент, на который стоит обратить внимание: Bash не позволяет сначала определить переменную, а затем присвоить ей значение. Вы должны присвоить значение переменной при создании.
var2 # ошибка компиляции
var2=Мир
Иногда вам может понадобиться присвоить вашей переменной строку, в которой есть пробел. В таком случае заключите строку в кавычки.
# var3=Привет, мир
# задание выше не работает
var3='Привет, мир'
Обратите внимание на использование одинарных кавычек. Эти кавычки также называются «сильными кавычками», потому что они присваивают значение точно так, как оно написано, без учета каких-либо специальных символов.
В приведенном выше примере вы могли бы также использовать двойные кавычки («слабые кавычки»), хотя это не означает, что их всегда можно использовать взаимозаменяемо. Это связано с тем, что двойные кавычки заменяют специальные символы (например, с $), вместо того, чтобы интерпретировать их буквально.
См. пример ниже:
переменная4=89
echo "Число $var4"
echo 'Число $var4'
# Первые выходные отпечатки: 89
# Второй вывод оставляет "$var4" без изменений
Если вы хотите назначить вывод командной строки вашей переменной, используйте обратные кавычки (``). Они обработают заключенную в них строку как команду терминала и вернут ее результат.
var5="Вы сейчас работаете в этом каталоге: `pwd`"
Расширение параметра в Bash
Расширение параметра просто относится к доступу к значению переменной. В своей простейшей форме он использует специальный символ $ за которым следует имя переменной (без пробелов между ними):
var6 = Джек
эхо Меня зовут $var6
Вы также можете использовать синтаксис ${имя_переменной} для доступа к значению переменной. Эта форма больше подходит, когда может возникнуть путаница вокруг имени переменной.
м=Сред.
echo Med расшифровывается как ${m}ical
Если вы опустите фигурные скобки, $ {м} ical будет интерпретироваться как составная переменная (которая не существует). Такое использование фигурных скобок с переменными известно как «подстановка».
Глобальные переменные
Как упоминалось ранее, ваша система Linux имеет некоторые встроенные переменные, к которым можно получить доступ во всех ваших сценариях (или оболочках). Доступ к этим переменным осуществляется с использованием того же синтаксиса, что и к локальным переменным.
Связанный: Как создавать и выполнять сценарии Bash в Linux
Большинство этих переменных указаны ЗАГЛАВНЫМИ буквами. Однако некоторые из них представляют собой отдельные символы, которые даже не являются буквенно-цифровыми символами.
Вот некоторые общие полезные глобальные переменные:
ДОМОЙ: Предоставляет домашний каталог пользователя.
ОБОЛОЧКА: Предоставляет тип оболочки, которую вы используете (например, Bash, csh и т. д.)
?: Предоставляет статус выхода предыдущей команды
Чтобы получить список глобальных переменных в вашей системе, запустите printenv (или env) команда:
$ printenv
Циклы в сценариях Bash
Теперь вы знаете, что такое переменные, как их назначать и как с их помощью выполнять базовую логику Bash.
Циклы позволяют перебирать несколько операторов. Bash вмещает за петли и пока циклы с простым синтаксисом для всех ваших потребностей циклов.
Если вы осваиваете искусство разработки Bash, за петли должны быть следующими в вашем списке.
Зачем снова и снова запускать один и тот же код в сценарии оболочки, если за вас это может сделать цикл for?
Читать далее
- Программирование
- Оболочка Linux Bash
- Советы по кодированию
Джером — штатный писатель MakeUseOf. Он освещает статьи по программированию и Linux. Он также является криптоэнтузиастом и всегда следит за криптоиндустрией.
Подписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!
Нажмите здесь, чтобы подписаться