Команда echo, как было сказано выше, позволяет распечатать на экране значения отдельных переменных оболочки, в том числе и переменных окружения, задающих условия выполнения программ (в том числе и самой оболочки). Принято говорить, что такие переменные создают среду окружения. Выше мы приводили команду printenv, распечатывающую значения всех переменных оболочки. Их инициализация задается многими сценариями, выполняемыми в системе.
Приведем еще несколько переменных окружения и укажем на их роль. Дадим следующую команду.
echo $MAIL
Так можно узнать адрес, где хранятся файлы почтового ящика пользователя.
/var/spool/mail/root
Командная строка начинается всегда с информации, определяемой переменной $PS1. Напечатаем ее значение.
echo $PS1
[\u@\h \W]\$
После такого вывода ясно, что указывается в строке перед полем для набора команды (еще называемой строкой приглашения). При загрузке ASPLinux Live CD определена такая информация: \u – имя пользователя, \h – имя хоста (компьютера) и \W – текущая директория. Непосредственно перед полем ввода команд пользователя расположен знак $.
Еще одна специальная переменная оболочки PATH определяет список подкаталогов, где должны содержаться исполнимые файлы вызываемых команд. Используя команду
echo $PATH
получим список каталогов содержащих основные утилиты.
Отметим отличия операционных систем семейства UNIX/Linux от Windows. Семейство последних так же имеет в своем составе переменную PATH (правда в последних версиях она теряет свое значение). При вызове программы в командном режиме Windows, сначала проверяются текущий каталог, а затем все каталоги, указанные в этой переменной окружения. В системах UNIX/Linux текущий каталог не проверяется. Поэтому, если в Linux надо вызвать команду, запустив файл, расположенный в каталоге не указанном в PATH, можно использовать несколько способов.
В первом указывается полный путь к файлу программы. Во втором задается относительный путь. Если активным является каталог, где расположена вызываемая программа, то относительный путь указывается так
./<имя файла>
Можно использовать символ точка для вызова команды из текущего каталога, набрав следующее.
. <имя файла>
(после точки надо обязательно вставить пробел).
Продолжим изучать системные команды. Теперь наберем команду, изменяющую текущий (активный) каталог на домашний.
cd ~
Далее воспользуемся такой командой
cat > script2
для того, чтобы набрать следующий текст
#!/bin/bash
echo PATH
Такой сценарий (мы упоминали этот термин в работе 1) после выполнения выводит PATH. При наборе в конце каждой строки нажимайте клавишу <Enter>, а по завершении – <Ctrl+D>. Надо придать файлу свойство, позволяющее выполнять его.
chmod u+x script2
Запустим этот сценарий, задавая полный путь к файлу
/root/script2
Относительный путь к файлу сценария, если он расположен в текущем каталоге, записывается так