Переменные оболочки важны для бесперебойной работы любой системы Linux. Например, каждый раз, когда вы запускаете программу или команду, ваша система просматривает переменную PATH, чтобы проверить, присутствует ли программа. Знание переменных оболочки важно для повседневного использования или администрирования систем Linux.
Важность переменных оболочки
Переменная оболочки — это заполнитель для хранения информации, используемой вашей системой Linux, программами или сценариями.
В Linux существуют различные типы оболочек или интерпретаторов командной строки, и все они широко используют переменные. Некоторые из важных ролей, которые играют переменные оболочки, включают:
- Переменные оболочки позволяют хранить значения и управлять ими в оболочке, а также могут управлять результатами вычислений или других операций.
- Они обеспечивают способ передачи значений между сценариями и программами.
- Вы можете использовать переменные оболочки для настройки поведения программ.
Переменные оболочки очень гибкие; вы также можете создавать свои собственные пользовательские переменные, но вот некоторые из переменных по умолчанию, которые поставляются с вашей системой.
1. ПУТЬ
Переменная PATH указывает каталоги, в которых система должна искать исполняемые файлы при вводе команды в терминале.
Это общесистемная переменная среды, состоящая из списка каталогов, разделенных двоеточием. В каждом каталоге по очереди выполняется поиск исполняемого файла с тем же именем, что и введенная вами команда.
Например, если вы вводите команда лс в терминале система будет искать в каталогах, указанных в переменной PATH, команду с именем лс. Если он найдет файл, он запустит его; в противном случае будет отображаться сообщение об ошибке «команда не найдена».
Переменная PATH важна, поскольку позволяет запускать команды из любого каталога без указания полного пути к исполняемому файлу. Например, если у вас есть исполняемый файл "ls" в /usr/bin каталоге, вы можете запустить команду ls из любого каталога, просто набрав лс, а не указывать полный путь, т.е. /usr/bin/ls.
Вы можете просмотреть текущее значение переменной PATH, выполнив команду echo следующим образом:
эхо $ПУТЬ
Вы также можете изменить значение переменной PATH, добавив или удалив каталоги из списка. Это может быть полезно, если вы хотите добавить каталог, содержащий ваши собственные исполняемые файлы или пользовательские сценарии, или если вы хотите изменить каталоги, в которых выполняется поиск при выполнении команд.
2. ДОМ
В Linux переменная HOME — это переменная среды, указывающая путь к домашнему каталогу пользователя. Почему это так важно? Ну, Linux — это многопользовательская ОС, а домашняя папка — это специальный каталог в вашей системе, связанный с каждым пользователем.
Домашний каталог обычно используется для хранения личных файлов пользователя, таких как документы, изображения, музыка и т. д.
Переменная HOME обычно устанавливается автоматически при входе в систему и используется многими программами и сценариями для поиска домашнего каталога пользователя. Например, когда вы запускаете команду cd без каких-либо аргументов, она использует переменную HOME для перехода к домашнему каталогу пользователя.
Многие программы используют переменную HOME для хранения файлов конфигурации или других данных в домашнем каталоге пользователя. Вы можете просмотреть текущее значение переменной HOME, запустив команду эхо $HOME команда.
3. ПОЛЬЗОВАТЕЛЬ
Переменная USER указывает имя пользователя, вошедшего в систему в данный момент. Он устанавливается автоматически при входе в систему и обычно используется программами и сценариями для определения имени пользователя текущего пользователя.
Переменная USER часто используется в сценариях для настройки поведения программы в зависимости от текущего пользователя. Например, сценарий может проверять значение переменной USER и выполнять определенные действия только в том случае, если текущий пользователь имеет привилегии root или sudo.
Вы также можете использовать эту переменную для запуска определенных общих команд. Например, при добавлении вашего пользователя в группу докеров вы можете просто запустить следующую команду вместо того, чтобы вводить фактическое имя пользователя:
sudo usermod -aG докер $USER
4. ОБОЛОЧКА
Оболочка — это программа, предоставляющая интерфейс командной строки (CLI) для взаимодействия с операционной системой.
Большинство систем Linux используют оболочку Bourne Again Shell (Bash) по умолчанию, но существует множество альтернатив. Оболочка C (csh), оболочка Z (Zsh), рыба и т. д.
Переменная SHELL указывает путь к пользовательской оболочке по умолчанию. Он устанавливается автоматически при входе в систему.
Кроме того, переменная используется в сценариях для настройки поведения программ на основе пользовательской оболочки по умолчанию. Например, сценарий может проверять значение переменной SHELL и использовать другой синтаксис или параметры в зависимости от используемой оболочки.
Вы можете просмотреть текущее значение переменной SHELL, запустив команду эхо $SHELL. Ты можешь измениться ваша оболочка по умолчанию с помощью команды chsh.
5. PWD
Еще одна важная переменная среды в Linux, PWD хранит ваш текущий рабочий каталог. В отличие от большинства переменных среды, которые в основном являются статическими, эта переменная обновляется оболочкой всякий раз, когда вы изменить каталоги с помощью команды cd.
Вы можете использовать переменную PWD в своих сценариях оболочки, чтобы легко ссылаться на текущий рабочий каталог. Значение переменной похоже на то, которое вы получаете при запуске команды pwd.
6. ИМЯ ХОСТА
Имя хоста или имя устройства — это уникальное имя, используемое для идентификации вашего компьютера в сети. Например, если вы хотите подключиться к машине по SSH, вы можете просто использовать имя хоста вместо IP-адреса.
Переменная HOSTNAME — это переменная среды, которая просто указывает имя хоста системы. Он устанавливается автоматически при загрузке системы и обычно используется для идентификации системы при ее подключении к сети. Есть несколько способов, которыми вы может изменить имя хоста в Linux.
Переменная HOSTNAME также используется программами и сценариями для идентификации системы и настройки ее поведения на основе имени хоста. Сценарий обычно проверяет значение переменной HOSTNAME и выполняет определенные действия только в том случае, если система является конкретным хостом.
Создание пользовательской переменной в Linux
Помимо переменных Linux по умолчанию, которые автоматически устанавливаются для вас. Вы также можете определить свои собственные переменные оболочки с помощью команды экспорта. Чтобы создать новую переменную GREETING со значением «Hello World», вы можете использовать следующую команду:
экспорт ПРИВЕТСТВИЕ="Привет, мир"
Затем вы можете использовать переменную GREETING в своих сценариях или в командной строке, как и любую другую переменную среды.