в этой лекции мы начнем говорить о переменных в bash переменные являются жизненно важной частью
любого языка программирования, включая bash переменная - это не что иное, как имя области памяти, в
которой хранится значение, которым можно управлять, для создания новой переменной запись
имя нужной переменной следует оператор присваивания или знак равенства
и значение переменной вы можете создать переменную в файле сценария или непосредственно в оболочке,
которая работает в терминале только, чтобы сделать его проще для этого примера я» m создание переменной
в терминале, так что os равно linux, имя переменной - os, а ее значение - строка linux,
обратите внимание, что нельзя использовать пробел до или после знака равенства, как это
недопустимо, у меня есть ошибка хотя в других языках программирования это рекомендуется для
удобочитаемости, это не разрешено в bash, если значение переменной представляет собой строку, содержащую
пробелы, а затем заключите все в двойные кавычки, например, this str aw равно
между двойными кавычками строка, содержащая пробелы, например, mx linux,
по сравнению с другими языками программирования, такими как c java или goleng, где каждая переменная имеет тип
bash - это слабо типизированный язык программирования, который не требует, чтобы вы определяли какой-либо тип данных
в время объявления переменной, поэтому, когда переменной присваивается какое-либо числовое значение, оно
будет работать как целое число, а когда любое текстовое значение присваивается переменной, тогда это строка
в bash, нет чисел с плавающей запятой, только целые числа, это пример
переменной, в которой хранится число h, равное 30.
Хорошо, давайте поговорим о соглашениях об именах
переменных, имена переменных должны быть описательными и напоминать вам о значении, которое они содержат.
Имя переменной не может начинаться с числа, а также не может содержать пробелы или другие специальные символы, такие как dax, двоеточия,
точки с запятой, восклицательные знаки или вопросительные знаки, и так далее, все следующие имена переменных недопустимы, если
u равно true, это недопустимое имя переменной, это недопустимо чтобы начать с числа
или точки b равно 100, не разрешается иметь специальные символы, такие как dax или n, в Мэри
он, однако, может начинаться с подчеркивания, и кроме этого вы можете использовать любое сочетание
буквенно-цифровых символов в верхнем и нижнем регистре, все они допустимы имена переменных, которые вы используете, равны false
или имя подчеркивания сервера равно apexi 2,5 или заглавная a равно 34.
присвоение переменной значения называется присвоением значения переменной,
а получение значения, хранящегося в переменной, называется ссылкой на значение переменной
для доступа к значению переменной перед именем переменной стоит знак доллара, давайте посмотрим
значения переменных, которые мы только что создали, и для этого я буду использовать эхо, поэтому эхо-доллар и имя
переменной x или эхо-доллар os или echo dollar u4 я ссылаюсь на значения переменных,
вы также можете ссылаться на значение переменной внутри строки, заключив все в
двойные кавычки, как это echo двойные кавычки между двойными кавычками Я изучаю
доллар os и в этом примере я старый доллар, имя переменной
просто заменяется ее значением, обратите внимание, что мы получим другой результат, если будем использовать
одинарные кавычки вместо двойных кавычек, как этот доллар, какую-то другую строку и доллар х
имя переменной не заменяется ее значением,
когда мы используем одинарные кавычки вместо двойных кавычек, если вы хотите отменить
особое значение знака доллара или любого другого специального символа, просто используйте обратную косую черту перед
специальным символом, чтобы отображать двойные кавычки и значение of backslash dollar os - это доллар os,
в этом примере символ обратной косой черты отменяет особое значение
знака доллара и его печатный доллар буквально вместо значения переменной, поэтому
он не ссылается на значение переменной,
вы также можете создать переменную, которая принимает x значение из существующей переменной или числа переменных,
допустим, этот розыгрыш равен ubuntu,
а мой подчеркнутый дистрибутив равен доллару os долларовый дистрибутив и, конечно, повторяет мой цифровой,
используя знак доллара и я t распечатал linux пустое пространство и ubuntu, чтобы получить список
всех переменных оболочки и функций, запустить команду set, их так много, поэтому лучше
передать вывод по конвейеру меньше или захватывать, если вы хотите искать конкретную переменную, например, скажем set
pipe grep distro Я искал переменную дистрибутива, и я вижу переменную в ее значении,
чтобы отменить определение или удалить переменную, используйте команду unset echo dollar distra в установленном дистрибутиве
без знака доллара я не ссылаюсь на значение переменной и echo долларовый дистрибутив
этот бросок больше не определен x пустое другое практическое правило именования переменных
заключается в том, что переменные оболочки среды, которые вводятся сценариями
запуска оболочки операционной системы или самой оболочкой, обычно все в заглавных буквах lexi такие переменные echo dollar path
user the пользователь, который в данный момент вошел в
систему, домашний каталог текущего файла .hist файла или размер файла.
Это все переменные среды, они указаны заглавными буквами, чтобы предотвратить конфликт ваших собственных переменных.
При работе с этими переменными рекомендуется использовать имена переменных в нижнем регистре,
иногда вы хотите убедиться, что содержимое переменной не меняет его только для чтения,
чтобы объявить такую ​​константу, используйте встроенную команду declare с параметром минус r,
например, declare минус r log d равно, а значение var underline log log d
является константой, мы можем использовать эту переменную в нашем скрипте как обычно, например, ls dollar log d,
если вы попытаетесь изменить значение, содержащееся в переменной, вы получите ошибку для пример log
d равно abc, это переменная только для чтения, и вы не можете отключить или удалить переменную только для чтения
в конце этой лекции давайте создадим сценарий, который использует переменные, сценарий будет отображать
количество строк и символов в текстовом файле и первые пять и последние семь строк
файла имя файла, включая его абсолютный путь, будет сохранено в переменной, поэтому я
создаю новый скрипт, скажем, файл подчеркивает stat dot sh, первая строка будет shebang
i я определяю новая переменная с именем file name
равна и абсолютный путь к файлу, допустим, это число строк
c password echo, и я запускаю комментарий оболочки wc минус l и значение переменной, поэтому
имя файла в долларах я распечатываю ряд знаков решетки для удобочитаемости, и теперь первые пять строк отражают
первые пять строк и заголовок комментария минус и имя файла в пять долларов,
а последние семь строк повторяют последние семь строк и хвост команды минус имя файла в долларах
n7 , это сценарий, который я сохранение и выход из файла,
я устанавливаю разрешение на выполнение для файла, и я запускаю его,
он работает, как мы и ожидали