Введение в Unix



         

Переменные в C-Shell - часть 2


% fgrep ounds /usr/dict/words >! shells

В этом случае перезапись состоится. Установка булевской переменной в противоположное значение "ложь" выполняется командой:

unset noclobber.

Переменные home и cwd, устанавливаемые автоматически, равны полным именам собственного и текущего каталогов соответственно.

Переменная status автоматически возвращает нулевое значение, если текущая команда завершена без ошибок. Ненулевое значение указывает ошибочное завершение.

Переменная argv содержит аргументы командной строки с нумерацией аргументов следующим образом: argv [0] - команда, argv [1] - первый аргумент и так далее (как в языке C).

Доступ к переменным обеспечивается ссылкой на имена с предшествующим знаком $, например, $cwd $argv [0] и т.д.

Посмотреть текущие значения встроенных переменных можно командой set без параметров:

% set

Пользователь может определить свои переменные типа строка знаков. Например:

% set wd = `pwd` % echo $wd /users/sys/docs.

Здесь результат выполнения команды pwd (строка полного имени рабочего каталога пользователя) присвоен переменной wd, значение которой проверено командой echo.

Кроме строковых переменных можно определить числовые переменные, принимающие значения типа целое, вещественное или булевское. Целое и вещественное значение начинающееся с нуля, считается восьмеричным, иначе - десятичным. Установка значения числовой переменной выполняется командой @ (аналог set для строковых переменных).

Пример:

% @ sum = (1 + 4) % echo $sum 5

В общем случае синтаксис команды @ такой:

@ <переменная> <C-операция> <C-выражение>,

где C-операция - один из операторов присваивания, принятых в языке C (=, +=, -=, *=, /=, %=), а C-выражение - выражение в синтаксисе языка C.




Содержание  Назад  Вперед