Как переменная поддерживается в Linux?

переменная поддерживается в Linux

Оболочка командной строки операционной системы Linux является мощным инструментом, который по своей сути является интерпретатором языка программирования. Как и любой другой язык программирования, командная оболочка позволяет использовать переменные для хранения, извлечения и манипулирования данными.

Установка и получение значений переменных

В командной оболочке bash, которая является оболочкой по умолчанию, используемой в Linux, вы можете установить переменную, используя общий синтаксис NAME = VALUE. Например, в командной строке вы можете ввести:

х = 5

И переменной с именем x будет присвоено числовое значение 5. Имена переменных могут быть в верхнем или нижнем регистре или в смеси обоих, и они чувствительны к регистру. При установке переменной не должно быть пробелов между именем переменной, знаком равенства и значением.

Нет необходимости заранее объявлять переменную или указывать ее тип данных. Bash определяет тип переменной на основе ее значения.

Например, наша переменная также может содержать строку:

х = Hello

Для простой строки необязательно заключать строку в кавычки, но если строка содержит пробелы, вы должны заключить ее в двойные кавычки:

x = "Привет, мир!"

Чтобы получить значение вашей переменной, поставьте перед ним знак доллара. Например, чтобы просмотреть значение x с помощью команды echo, вы должны выполнить:

эхо $ х

Какие выводы:

Привет, мир!

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

echo "$ x $ x Кто-нибудь меня слышит? Я сказал, $ x"
Привет, мир! Привет, мир! Кто-нибудь слышит меня? Я сказал: Привет, Мир!

Чаевые

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

echo '$ x $ x Кто-нибудь меня слышит? Я сказал, $ х '
$ x $ x Кто-нибудь меня слышит? Я сказал, $ х

Установка значения переменной для вывода команды

Чтобы установить значение вашей переменной для вывода определенной команды, используйте форму:

NAME = $ (COMMAND)

Например, если ваше имя пользователя «steven», то при запуске команды whoami будет возвращено значение steven. Вы можете установить это в переменную:

MyName = $ (Whoami)
echo $ myname
стивен

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

x = "Привет, мир!"
х = $ (эхо $ х $ х $ х)
эхо $ х
Привет, мир! Привет, мир! Привет, мир!

Использование переменных в простом скрипте

Давайте посмотрим, как мы можем использовать переменную в простом скрипте резервного копирования. Допустим, вы хотите сделать резервную копию всего в каталогах документов в вашем домашнем каталоге. Скрипт заархивирует все в этом каталоге и любые содержащиеся в нем каталоги в архив tar, имя которого содержит текущую дату. Давайте сохраним резервные копии в каталоге с именем backups в вашем домашнем каталоге (предположим, этот каталог уже существует. Если нет, вы можете запустить mkdir ~ / backups для его создания).

Откройте текстовый редактор и поместите этот текст в новый файл:

#! / Bin / Баш

MYFILENAME = ~ / backups / documents-backup - $ (дата +% Y-% m-% d) .tar.gz

tar -czf $ OUTPUTFILE ~ / documents

Давайте посмотрим на каждую строку этого скрипта. Первая строка, #! / Bin / bash, объявляет скрипт как исполняемый файл и указывает, что он должен запускаться с / bin / bash, который является исполняемым файлом командной оболочки bash. Примечание. Файл не будет исполняемым до тех пор, пока мы не изменим файл позже, но эта строка требуется в любом подходящем скрипте bash.

Вторая строка устанавливает переменную MYFILENAME, которая будет содержать имя архива, содержащего нашу резервную копию. Первая часть имени файла — это наш каталог резервных копий ~ / backups.

Заметка

Символ тильды (~) — это специальное имя каталога, которое всегда представляет наш домашний каталог.)

Далее у нас есть начало имени файла Documents-Backup-. Затем мы вставляем текущую дату, используя команду даты, символ плюс и строку формата даты% Y-% m-% d. Например, если бы дата была 23 февраля 2015 года, это вернул бы 2015-02-23.

  • Для получения дополнительной информации о команде date см. Документацию к нашей команде date.)

Наконец, мы используем расширение .tar.gz, которое является правильным расширением имени файла для сжатого gzip файла tar. Таким образом, если мы запустим этот скрипт 23 февраля 2015 года, значение MYFILENAME будет равно ~ / backups / documents-backup-2015-02-23.tar.gz. Если мы запустим его 7 мая 2015 года, значением будет ~ / backups / documents-backup-2015-05-07.tar.gz.

Третья строка — это команда, которая создает архив. Мы используем команду tar с опцией -czf, которая создает (c) сжатый архив (z), используя указанное имя файла (f). Затем мы указываем имя файла архива, ссылаясь на переменную, которую мы создали в строке 2, OUTPUTFILE. Наконец, мы говорим tar, что мы хотим заархивировать: каталог ~ / documents.

Чтобы запустить скрипт, сохраните текстовый файл в своем домашнем каталоге (или в любом другом месте, которое вы предпочитаете) и присвойте ему соответствующее имя, например, backup-my-docs. Нет необходимости давать ему расширение имени файла. Выйдите из текстового редактора и сделайте файл исполняемым с помощью команды chmod + x, например:

chmod + x ~ / backup-my-docs

Теперь вы можете запустить скрипт. Например, если скрипт находится в вашем рабочем каталоге, вы можете запустить его с помощью:

./ резервное копирование мои-документы

Или, если он находится в вашем домашнем каталоге, вы можете запустить его из любого каталога с помощью команды:

~ / Резервное копирование мои-документы
Ссылка на основную публикацию