Unix Man (Справочное руководство)


CSH(1) - часть 18


Операторы *=, +=, и т.п. являются доступными, как и в языке С. Пробел, отделяющий имя от оператора назначения, является необязательным. Наличие пробелов является обязательным в разделяемых составляющих выражения expr, которые в любом случае должны быть отдельными словами.

Специальные постфиксные операторы ++ и --, соответственно, увеличивают на единицу и уменьшают на единицу значение name, например, @ i++.

Предопределенные Переменные


Последующие переменные имеют специальное значение для интерпретатора shell. Из них argv, child, home, path, prompt, shell и status всегда устанавливаются интерпретатором shell. За исключением child и status, эта установка производится только при инициализации; эти переменные не будут модифицироваться до тех пор, пока это определенно не будет сделано пользователем.

Интерпретатор shell копирует переменную среды PATH в переменную path, а также копирует это значение обратно в среду всякий раз, когда переменная path устанавливается. Следовательно, не стоит беспокоиться о том, что ее установка будет отличаться от той, что присутствует в файле .cshrc, так как внутренние процессы csh будут импортировать определение переменной path из среды.

argv cdpath child echo histchars history home ignoreeof mail
Принимается в качестве аргументов для интерпретатора shell, именно из этой переменной производится подстановка позиционных параметров, например, $1 заменяется на $argv[1], и т.д.
Задает список альтернативных каталогов для поиска подкаталогов в командах cd.
Выводится номер процесса, когда последняя команда была разветвлена при помощи &. Эта переменная является командой unset, когда этот процесс завершается.
Устанавливается, когда в командной строке задана опция -x. Вызывает отображение на экране каждой команды и ее аргументов непосредственно перед тем, как команда выполняется. Для невстроенных команд все раскрытия происходят до их отображения на экране. Встроенные команды отображаются на экране до выполнения подстановки команд и имен файлов, поскольку эти подстановки выполняются затем выборочно.
Может быть назначена двух-символьная строка. Первый символ используется в качестве символа предыстории вместо знака !, второй символ используется вместо механизма подстановки ^. Например, если произведена установка вида histchars=",;", то символами предыстории будут точка и точка с запятой.
Может быть задано числовое значение для контролирования размера списка предыстории. Никакая команда, на которую производится ссылка, укладывающаяся в это количество событий, не будет отброшена. Слишком большое значение переменной history может привести к превышению памяти интерпретатора shell. Последняя выполняемая команда всегда сохраняется в списке предыстории.
Входной (home) каталог вызывающего пользователя, эта переменная инициализируется из среды. Раскрытие имени файла, представленного ~, отсылает к этой переменной.
Если эта переменная установлена, то интерпретатор shell игнорирует признак конца файла от устройств ввода, которые являются терминалами. Это предотвращает ситуацию случайного завершения интерпретатора shell по нажатию Ctrl-D.
Файлы, которые интерпретатор shell проверяет на наличие почтовых сообщений. Эта проверка выполняется после завершения каждой команды, результатом которой будет вывод приглашения, при условии истечения заданного временного интервала. Интерпретатор shell выводит сообщение "You have new mail" (Для Вас есть новая почта"), если существует файл, для которого время доступа не превышает времени его модификации.

Если первое слово значения переменной mail является числом, то оно задает иное значение интервала проверки почты, а именно: в секундах, вместо значения по умолчанию, которое составляет 10 минут.

Если указаны несколько почтовых файлов, то при наличии почты в файле, определяемом именем name, интерпретатор shell отвечает сообщением "New mail in name" ("Новая почта в файле name"). noclobber Как было описано в разделе "Ввод/Вывод", на переадресацию вывода накладываются определенные ограничения для того, чтобы предохранить такие файлы от случайного повреждения, а переадресации вида >> относятся к существующим файлам. noglob Установка этой переменной препятствует раскрытию имен файлов. Это очень удобно для сценариев интерпретатора shell, которые не работают с именами файлов, или после того, как получен список имен файлов, а дальнейшие раскрытия являются нежелательными. nonomatch Если эта переменная установлена, то не будет ошибкой ситуация, когда раскрытие имен файлов не соответствует никаким существующим файлам; при этом просто возвращается этот первоначальный образец. Однако, ошибкой будет неправильно сформированный образец, т.е. отображение [ дает ошибку. path Каждое слово переменной пути path задает каталог, в котором должны быть найдены команды для выполнения. Нулевое слово указывает на текущий каталог. Если переменная path отсутствует, то будут работать только полные обозначения путей. Обычно, путь поиска представляется как /bin, /usr/bin и ., но он может изменяться в зависимости от используемой системы. Для привилегированного пользователя путь поиска по умолчанию представляется каталогами /etc, /bin и /usr/bin. Интерпретатор shell, которому не задана ни опция -c, ни опция -t, как правило, будет хэшировать содержимое каталогов в переменной path после считывания файла .cshrc каждый раз, когда переустанавливается переменная path. Если при активизированном интерпретаторе shell в эти каталоги добавляются новые команды, то имеет смысл задавать команду rehash, в противном случае эти команды могут быть не найдены. prompt Символьная строка, которая выводится перед каждой командой, считываемой с терминального ввода в интерактивном режиме. Если в этой строке появляется символ !, то он будет заменен на номер текущего события, если ему не предшествует символ \. Для привилегированного пользователя эта переменная имеет значение % или #. shell Файл, в котором находится интерпретатор shell. Эта переменная используется в разветвляющихся процессах интерпретатора shell для интерпретации файлов, для которых установлены биты исполнения, но которые не доступны для выполнения системой. (См. ниже раздел "Выполнение невстроеннных команд".) При инициализации заносится во входной (home) каталог (системно-зависимый) интерпретатора shell. status Возвращаемый статус (состояние завершения) последней команды. Если она завершилась не нормально, то к значению статуса добавляется 0200. При неуспешном завершении встроенных команд возвращается статус 1, в остальных случаях для встроенных команд статус устанавливается в значение 0. time Управляет автоматическим отсчетом времени для команд. Если эта переменная установлена, то при завершении некоторой команды, которая использует больше положенных для нее секунд центрального процессора, будет печататься строка, содержащая следующую информацию: пользователя, систему, реальное значение времени и процентное соотношение использования времени, которое определяется отношением суммы времени, использованного пользователем и системой к реальному времени. verbose Устанавливается при помощи опции -v, заданной в командой строке; приводит к печати слов из каждой команды после выполнения подстановки предыстории.




Начало  Назад  Вперед