Некоторые переменные в оболочке C имеют специальное значение. Из этих переменных argv, cwd, home, path, prompt, shell и status всегда задаются средой. Для всех перечисленных переменных, кроме cwd и status, установка выполняется только один раз при инициализации оболочки. Затем эти переменные сохраняют свои значения, если только вы не измените их явно.
Команда csh копирует переменные среды USER, TERM, HOME и PATH соответственно в переменные user, term, home и path оболочки csh. При любом изменении переменных оболочки выполняется обратное копирование их значений в переменные среды. Задавать переменную path где-либо, кроме файла .cshrc, нельзя, поскольку оболочка csh автоматически импортирует значение переменной path из среды и экспортирует в среду при каждом изменении.
Следующие переменные среды имеют
особое значение:
argv | Содержит аргументы, переданные сценарию оболочки. Из этой переменной подставляются позиционные параметры. |
cdpath | Содержит список альтернативных каталогов для поиска подкаталогов, указанных в аргументах команд chdir и cd. |
cwd | Содержит полное имя текущего каталога. |
echo | Устанавливается флагом -x командной строки; выводит на экран каждую команду (вместе с аргументами) перед ее выполнением. Для внешних команд перед этим выполняются все подстановки. Встроенные команды выводятся на экран до подстановок, поскольку эти подстановки затем могут быть выборочными. |
histchars | Задает строку, переопределяющую символы подстановки хронологии.
Первый символ этой строки будет применяться в качестве символа подстановки
хронологии вместо символа по умолчанию, !. Второй символ этой строки
заменяет символ ^ быстрой подстановки.
Примечание: Указание в переменной histchars символов, применяемых в именах команд и файлов, может привести к нежелательным подстановкам. |
history | Содержит численное значение, управляющее размером списка хронологии. Сохраняются все команды в указанном диапазоне. Слишком большое значение переменной history может привести к тому, что оболочка займет слишком много памяти. Независимо от значения этой переменной, оболочка C всегда сохраняет в списке хронологии последнюю команду. |
home | Содержит имя вашего домашнего каталога, полученное из соответствующей переменной среды. Эта переменная подставляется вместо тильды ~ в именах файлов. |
ignoreeof | Указывает оболочке игнорировать символ конца файла в данных, получаемых от рабочих станций. Это предотвращает случайное закрытие оболочки после чтения символа конца файла (Ctrl-D). |
Задает файлы, в которых оболочка будет проверять почту. Проверка почты выполняется при выводе приглашения после завершения команды, если прошел определенный интервал времени. Если время последнего обращения к одному из указанных файлов становится меньше времени последней записи, оболочка показывает сообщение Почта в файле имя_файла . | |
Если первое слово в значении переменной mail - число, оно задает интервал проверки почты (в секундах); значение по умолчанию - 600 (10 минут). Если указано несколько файлов, и в одном из них обнаруживается новая почта, оболочка показывает сообщение Новая почта в файлеимя_файла. | |
noclobber | Устанавливает ограничения на перенаправление вывода, позволяющие быть уверенным в том, что файлы не будут случайно уничтожены или изменены. |
noglob | Отменяет операции подстановки в именах файлов. Эта возможность применяется в сценариях оболочки, не работающих с именами файлов, либо когда получен список имен файлов, дальнейшая подстановка в котором нежелательна. |
nonomatch | Указывает, что не следует показывать сообщение об ошибке, если в результате подстановки получилось имя файла, не соответствующее ни одному из существующих файлов; вместо этого возвращается простой шаблон. В любом случае, неправильные простые шаблоны приводят к ошибке. |
notify | Указывает оболочке, что отправлять уведомления об изменении состояния заданий следует асинхронно. По умолчанию эта информация показывается перед выводом приглашения оболочки. |
path | Задает каталоги, в которых выполняется поиск введенных команд.
Пустое слово обозначает текущий каталог. Если переменная
path не задана, при вводе команд необходимо указывать полные
имена. Путь поиска по умолчанию (из файла /etc/environment,
применяемого командой login), следующий:
/usr/bin /etc /usr/sbin /usr/ucb /usr/bin/X11 /sbin |
В обычном режиме оболочка, при запуске которой не был указан ни флаг -c, ни флаг -t, после чтения файла .cshrc и при каждом изменении переменной path создает хэш-таблицу содержимого каталогов, перечисленных в переменной path. Если во время работы оболочки в каталоги поиска были добавлены новые команды, необходимо ввести команду rehash, иначе эти команды не будут найдены. | |
prompt | Задает строку, показываемую перед каждым чтением очередной команды с интерактивной рабочей станции. Если в этой строке встречается символ ! , он заменяется текущим номером события. Если символ ! находится в одинарных или двойных кавычках, перед ним необходимо указать символ \ (обратная косая черта). По умолчанию для пользователей без прав доступа root выводится приглашение %. Для пользователя root выводится приглашение #. |
savehist | Содержит численное значение, управляющее числом записей в списке хронологии, сохраняемых при выходе из системы в файле ~/.history. Будут сохранены все команды в указанном диапазоне. При запуске оболочка загружает файл ~/.history в список хронологии, таким образом сохраняя хронологию предыдущего сеанса работы в системе. Увеличение значения переменной savehist замедляет запуск оболочки. |
shell | Задает файл, в котором находится оболочка C. Это значение применяется при запуске новых оболочек для файлов, выполнение которых разрешено, но которые не могут быть выполнены системой (сценариев оболочки). В эту переменную записывается полное имя файла оболочки C. |
status | Содержит состояние возврата из последней запущенной команды. Если команда завершилась аварийно, к состоянию добавляется 0200. Встроенные команды, завершившиеся неудачно, возвращают состояние 1. Успешно выполненные встроенные команды возвращают значение 0. |
time | Управляет автоматическим определением времени выполнения команд. После каждой команды, выполнение которой заняло больше секунд CPU, чем указано в этой переменной (если она задана), показывается строка с информацией об использовании ресурсов. Дополнительная информация о формате вывода по умолчанию приведена в описании встроенной команды time. |
verbose | Эта переменная, устанавливаемая с помощью флага -v командной строки, включает вывод на экран всех слов каждой команды после подстановки хронологии. |