Сценарии оболочки — правила именования имени переменной

Опубликовано: 30 Сентября, 2022

Переменные очень важны в любом скрипте или программе, поэтому нам нужно понять, как принято называть эти переменные. Существуют определенные правила и стандарты, которые следует учитывать при присвоении имен переменным в сценариях оболочки. В этой статье мы обсудим и перечислим все правила и соглашения по объявлению имени переменной в сценариях Shell/Bash.

Правило 1. Имя переменной может содержать буквы, цифры и знаки подчеркивания.

Имя переменной может быть буквенно-цифровым, т. е. может состоять из букв и цифр, а также символа подчеркивания. В имени можно использовать строчные или прописные буквы алфавита. Мы можем использовать символ подчеркивания в любой позиции имени переменной.

Например:

Переменные var_name имеют подчеркивание и символы нижнего регистра. Переменная X2 имеет заглавные буквы и числа. Наконец, последняя переменная содержит как прописные, так и строчные символы, цифры и знаки подчеркивания.

Примечание. Не используйте _ в качестве имени переменной, так как при попытке доступа к переменной _ с помощью $_ это, в свою очередь, выдаст ошибку, поскольку это зарезервированная команда для доступа к большому аргументу последней команды.

Правило 2. Не должно быть пробелов по обе стороны от оператора присваивания (=)

За именем переменной не должно следовать никаких пробелов по обе стороны от оператора присваивания. Если у вас есть пробелы до или после оператора присваивания, интерпретатор оболочки может выдавать сообщения об ошибках о том, что имя переменной само по себе является командой.

Например:

Присвоение переменной считается недопустимым в следующих случаях:

name = "John"
name= "John"
name ="John"

Правильный способ присваивания переменной в сценариях оболочки — без пробелов по обе стороны от оператора присваивания (=), что показано ниже:

name="John"

Правило 3: Имя переменной не может содержать специальные символы

Кроме символа подчеркивания, описанного в первом правиле, имя переменной не может содержать никаких специальных символов. Поскольку сценарии оболочки используют определенные специальные символы для некоторых операционных задач, таких как $ для доступа к литеральному значению переменной, & в качестве оператора and * и # в качестве экстрактора массива/строки и так далее. Таким образом, использование каких-либо специальных символов в имени переменной в сценарии оболочки скорее невозможно.

Правило 4: Первый символ имени переменной не может быть цифрой

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

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

2X
1st_name
6_gate

Правило 5: Имена переменных не могут быть зарезервированными словами

Не рекомендуется использовать зарезервированные ключевые слова, такие как if, else, while, for, until, case и т. д., в качестве имени переменной. Хотя это не дает никаких ошибок, это все еще плохая практика, которая может легко испортить читабельность сценария оболочки и в некоторых случаях вызвать определенные ошибки.

Зарезервированные слова в сценариях оболочки/bash следующие:

if
elif
else
then
while
do
done
for
until
case
esac
continue 
break
function

Старайтесь не использовать это в качестве имен переменных.

Правило 6: Между именами переменных не должно быть пробелов

У нас не может быть пробела между именем переменной, например

first name="John"

Это приведет к ошибке, так как интерпретатор оболочки сначала будет рассматривать слово как команду и вернет ошибку. Итак, нам нужно избегать использования пробелов между именами переменных, мы можем использовать _ вместо этого, чтобы создавать имена переменных из нескольких слов для лучшей читабельности.

Итак, это правила, которые следует учитывать при объявлении имен переменных в среде сценариев оболочки.