- 1 Введение
- 2 Переменная среды PATH
- 3 Добавление скриптов в стандартные системные каталоги
- 4 Добавление каталогов в PATH
- 5 Заключение
1 Введение
Мы часто устанавливаем на наши Linux-системы пользовательские скрипты и исполняемые файлы. Такими утилитами удобнее пользоваться, просто набирая имя скрипта в командной строке, не задумываясь о пути каталогу, где эти скрипты находятся.
В этой статье мы рассмотрим, где можно разместить такие скрипты.
2 Переменная среды PATH
В операционной системе Linux определена переменная PATH, содержащая список каталогов с исполняемыми файлами. Когда мы пытаемся выполнить команду, система ищет исполняемый файл с подходящим именем в этих каталогах.
Посмотрим содержимое переменной PATH:
echo $PATH
/home/karthik/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/karthik/lib/android/cmdline-tools/tools/bin:/home/karthik/lib/android/emulator:/home/karthik/lib/android/platform-tools:/home/karthik/lib/flutter/bin:/usr/local/go/bin:/home/karthik/.spicetify
Как видим, в переменной PATH содержится список каталогов, разделенных двоеточием.
3 Добавление скриптов в стандартные системные каталоги
В большинстве систем в переменную PATH по умолчанию включены некоторые стандартные каталоги, такие как /usr/local/bin и ~/.local/bin. Добавление нашего скрипта в любой из этих каталогов позволяет запускать его из командной строки без указания полного пути.
После копирования скрипта в любой подкаталог /usr, он становится доступным для всей системы. Поэтому все пользователи cмогут использовать его из командной строки. Таким образом, скрипт, который должен быть доступен всем в системе, лучше всего поместить в каталог /usr/local/bin.
Скрипты, предназначенные для личного использования, лучше поместить в подкаталог домашнего каталога ~ (обычно это каталог /home/<ваше имя="">). Стандартное место для размещения личных пользовательских - это каталог ~/.local/bin.ваше>
4 Добавление каталогов в PATH
Мы также можем предварительно добавить нужные каталоги в PATH, а затем вызывать скрипты, находящиеся в этих каталогах, по имени. Например, включим в переменную PATH каталог /home/karthik/.flutter/bin:
$ PATH=$PATH:/home/karthik/.flutter/bin
$ export PATH
После добавления этого каталога в переменную PATH все скрипты и исполняемые файлы из него будут доступны для использования из командной строки по имени.
Чтобы не проделывать эти манипуляции при каждой перезагрузке и сделать добавление каталога в PATH постоянным, можно выполнять две вышеуказанные команды автоматически при инициализации оболочки.
Для этого необходимо включить эти строки в файл /etc/profile (тогда команды будут выполняться для всех пользователей в системе) или в файл ~/.profile (если команды нужно выполнять только для себя).
5 Заключение
В этой статье мы узнали, куда помещать пользовательские сценарии, чтобы их можно было использовать из командной строки по имени, без указания полного пути. Мы можем либо добавить эти сценарии в один из каталогов переменной PATH, либо добавить каталог, содержащий сценарии, в переменную PATH.
В идеале скрипты для общесистемного использования следует поместить в каталог /usr, а для личного использования - в свой домашний каталог.