Администрирование локальных сетей

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

 

для снятия алиаса нужно воспользоваться командой unalias :

 

unalias dir

 

чтобы просмотреть список всех алиасов имеющихся в данный момент нужно ввести команду alias без параметров.

 

Подстановка команд

 

Подстановка команд в csh выполняется полностью аналогично подстановке в Bourne Shell рассмотреной перед этим:

 

cruiser 7: set dir=`pwd`

cruiser 8: echo $dir

/home/roman

cruiser 9:

 

Метасимволы

 

Все етасимволы включая синтаксические ( ; | () & || && ) а так же файловые ( ? * [] ~ ) и метасимволы квотинга ( \ “ ) в csh имеют тот же смысл что и рассмотренные перед этим в Bourne Shell.

 

2.3.4 Переменные csh

 

Имя переменнойОписание$argvСписок аргументов командной строки$autologoutАвто логаут если шеллом не пользовались спустя количеству секунд указанному в этой переменной. Неустановленное или нулевое значение отключает авто логаут.$cwdУказатель текущей рабочей директории$homeДомашняя директория$ignoreeofЕсли переменная установлена, то гнорировать символ конец файла (Ctrl-D) как символ завершения работы$noclobberЕсли переменная установлена, то запретить перенаправление вывода в существующий файл (операция > ). Перенаправление возможно лишь с использованием операции >!$notifyЕсли переменная установлена то посылать немендленные уведомления после окончания фоновых процессов$pathПуть для поиска выполняемых файлов. При изменении этой переменной нужно уведомить шелл выполнив команду rehash$promptВид системной подсказки$statusКод возврата самой последней команды

 

Цифровые переменные csh

 

Команда at ( @ ) назначает цифровой переменной арифметическое значение, точно так же как и команда set назначает значение стороковой переменной. Значением цифровых переменных являются десятичные целые.

 

% @ sum=( 1 + 2 )

% echo $sum

3

 

Основные арифметические операции в csh

 

ОперацияОписание( )Скобки изменяют порядок выполнения операций+Сложение-Вычитание*Умножение/Деление%Остаток от деления

Основные логические операции в csh

 

ОперацияОписание==Проверка на равенство!=Пооверка на неравенство!Логическое отрицание

Кроме этих операций есть еще ряд логических операций которые должны быть взяты в скобки и их операнды должны ьыть разделены пробелами в виде ( operand1 >= operand2 )

 

ОперацияОписание>БольшеПравый битовый сдвиг<<Левый битовый сдвиг&Битовое И|Битовое ИЛИ&&Логическое И||Логическое ИЛИ

Например:

 

% @ r= ( 2 << 4 )

% echo $r

32

 

Основные операции присвоения в csh

 

ОперацияОписание=Простое рисвоение а = b+=a = a + b-=a = a - b*=a = a * b/=a = a / b%=a = a % b

Постфиксные операции

 

К последним относятся операции ++ и --

 

% @ a=10

% @ a++

% echo $a

11

 

Основные файловые операции

 

Виражения в csh могут возвращать значение в зависимости от наличия или отсутствия файла, прав доступа к нему, и.т.п. Для этого используется следующий синтаксис:

 

-file_test filename

 

где file_test и filename могут принимать следующие значения

file_test описаниеdЯвляется ли файл директорией ?eСуществует ли файл ?fЭто обычный файл ?oЯвляюсь ли я его собственником ?rИмеются ли права на чтение из файла ?wИмеются ли права на запись в файлxМожно ли исполнять этот файл ?ZПустой ли файл

2.3.5 Задания

 

Каждый раз когда одна или больше команд (например связанные через пайп, или последовательно) выполняються шелл создает один блок команд назывемый заданием. Фактически каждая строка введенная в строке шелла является заданием. Задание может исполняться также в фоновом режиме если при запуске в конце стоял символ &. В этом случае после запуска шелл выдаст номер задания в своей таблице заданий и номер процесса. Просмотреть таблицу активных в данный момент заданий можно воспользовавшись командой jobs . После завершения фонового процесса шелл проинформирует пользователя об этом.

 

% sleep 10 &

[1] 73059

 

% jobs

[1] + Running sleep 10

 

% ps

PID TTY TIME COMMAND

71453 pts/20:00.03 -sh (csh)

73059 pts/2 0:00.00 sleep 10

73061 pts/2 0:00.00 ps

 

…. Спустя 10 секунд ….

 

%

[1] Done sleep 10

 

2.3.6 Скрипты

 

сsh крипты могут как и Bourne Shell скрипты быть запущены двумя способами. Либо

 

csh script_file arg1 arg2 ….

 

либо установив атрибут исполняемости на файл и запустив его

 

chmod +x script_file

./script_file arg1 arg2 ….

 

При этом первая строчка должна содкржать полный путь к интерпретатору с префиксом #! , в нашем случае она должна выглядеть так: #!/usr/bin/csh . Без этой строчки система в качестве интерпретатора скрипта запустит Bourne Shell что приведет к ошибке.

При запуске csh помещает аргументы скрипта в массив argv доступ к которым возможее через argv[1], argv[2], … Аргумента argv[0] не существует, вместо этого имя скрипта помещается в аргумент $0.

Для проверки установлена ли данная переменная можно воспользоваться конструкцией

 

$?variable

 

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

 

$#variable

 

Для доступа к компонентам переменной необходимо следовать следующему правилу:

 

$variable[componet_number]

 

Также как и в Bourne Shell возможно использование переменных $n вместо argvn ?/p>