Переменные используются для хранения значений различных типов во время выполнения программы. В сценариях Bash есть два типа переменных: глобальные и локальные.

Глобальные переменные могут использоваться всеми сценариями Bash в вашей системе, тогда как локальные переменные могут использоваться только внутри сценария (или оболочки), в котором они определены.

Глобальные переменные обычно предоставляются в системе по умолчанию и в основном являются переменными среды и конфигурации. Локальные переменные, с другой стороны, определяются пользователем и могут использоваться произвольно.

Локальные переменные Bash

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

var1=Привет

Bash также позволяет выполнять несколько присваиваний в одной строке:

а=6 б=8 в=9

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

instagram viewer

Связанный: Что означает «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

Зачем снова и снова запускать один и тот же код в сценарии оболочки, если за вас это может сделать цикл for?

Читать далее

доляТвитнутьЭлектронное письмо
Похожие темы
  • Программирование
  • Оболочка Linux Bash
  • Советы по кодированию
Об авторе
Джером Дэвидсон (опубликовано 34 статьи)

Джером — штатный писатель MakeUseOf. Он освещает статьи по программированию и Linux. Он также является криптоэнтузиастом и всегда следит за криптоиндустрией.

Другие работы Джерома Дэвидсона

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!

Нажмите здесь, чтобы подписаться