русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Создание и организация процедур Shell


Дата добавления: 2013-12-23; просмотров: 1239; Нарушение авторских прав


Процедура Shell может быть создана за два простых шага. Первый шаг - это создание обычного текстового файла. Второй - это изменение типа файла для того, чтобы он стал выполняемым и его можно было вызвать с помощью:

proc args

а не

sh proc args

Второй шаг можно не делать для процедуры, которую вы собираетесь использовать один или два раза, но для более часто используемых мы рекомендуем это делать. В качестве примера, создайте файл с именем mailall со следующим содержимым:

LETTER=$1

shift

for i in $*

do mail $i < $LETTER

done

Затем введите:

chmod +x mailall

Созданную новую команду можно теперь запускать из текущего каталога введя, например:

mailall letter joe bob

Здесь letter это имя файла, содержащего сообщение, которое вы хотите разослать, а joe и bob - это адресаты.

Если mailall создан таким способом в каталоге, указанном в переменной PATH, то пользователь может менять каталоги и вызывать mailall таким же способом.

Процедуры Shell часто используются пользователями, работающими в csh. Однако, если первым символом процедуры является # (символ комментария), то csh полагает, что данная процедура является процедурой csh и вызывает для ее выполнения /bin/csh. Всегда начинайте процедуры Shell с какого-либо другого символа, если предполагается, что ею будут пользоваться и пользователи, работающие в csh. В этом случае для ее выполнения будет вызываться стандартный интерпретатор Shell /bin/sh.

Процедуры Shell могут создаваться динамически. Процедура может генерировать файл с командами, вызывать другой интерпретатор для выполнения этого файла и затем удалять его. Альтернативный подход - это применение команды (.), чтобы заставить текущий интерпретатор прочитать команды из нового файла, использовать значения существующих переменных Shell, не создавая дополнительного процесса в подоболочке.



Многие пользователи предпочитают писать процедуры Shell, а не программы на Си или другом традиционном языке программирования. У этого есть свои причины:

1. Процедуру Shell легко создавать и работать с ней, т.к. это обычный текстовый файл.

2. У процедуры Shell нет соответствующего об'ектного кода, который требовалось бы создавать.

3. Процедуру Shell можно быстро создать, использовать несколько раз и удалить.

4. Поскольку процедуры Shell короткие, написаны на языке высокого уровня и содержат только исходный текст, их очень легко понимать и при необходимости исправлять.

По принятому соглашению, каталоги, которые содержат только команды и процедуры Shell, называются bin. Это имя является сокращением от binary (двоичный) и используется потому, что часто скомпилированные и выполняемые программы называют binaries, чтобы отличать их от исходных текстов программ. Большинство групп пользователей имеют свои собственные bin-каталоги для хранения общих процедур. Некоторые пользователи указывают в переменной PATH несколько таких каталогов. Мы не советуем указывать много каталогов в переменной PATH, т.к. от этого может пострадать эффективность выполнения процедур.

 



<== предыдущая лекция | следующая лекция ==>
Специальные команды Shell | Команды поддержки и их особенности


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.