русс | укр

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

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

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

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


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

Глава 3. Интерпретатор SHELL


Дата добавления: 2014-11-28; просмотров: 874; Нарушение авторских прав


Программа sh представляет собой наиболее важную утилиту ОС UNIX. Shell – это не только интерпретатор команд системы UNIX, но еще и полноценный язык программирования, причем, как многие интерпретаторы, довольно высокого уровня. Если задача – разовая (нет требований по быстродействию, совместимости и переносимости) и достаточно абстрактная (нет привязки к конкретной сложной структуре данных), ее скорее всего можно решить, написав командный сценарий – программу на shell. По совокупности свойств shell можно считать самым мощным средством системы UNIX.

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

В командных процессорах используются всего два типа языков. Это sh–подобный язык и csh–подобный язык. Первый тип поддерживается в sh, ksh, bash. Второй – в csh и tcsh. Язык sh более удобен и стандартен, на нем написаны практически все сценарии во всех системах UNIX, включая стартовые скрипты системы. Язык csh по синтаксису ближе к языку программирования С, но используется для скриптов реже. Однако в некоторых случаях программное обеспечение включает в себя скрипты на языке csh.

Первой строкой любого сценария должна быть строка, содержащая управляющий комментарий специального вида:

#!полное_имя_командного процессора

Например,

#!/bin/sh

Этот комментарий требует выполнить скрипт с помощью указанного командного процессора. По умолчанию скрипт выполняется в среде /bin/sh, даже если он запущен в среде другого командного процессора. Если вы работаете в tcsh и хотите, чтобы ваши скрипты запускались в tcsh, следует обязательно указать полный путь к tcsh в управляющем комментарии.



Интерактивный режим взаимодействия с shell мы уже рассмотрели во второй части курса. В интерактивном режиме пользователи ограничиваются вводом простых команд, таких, как «ls», генерацией имен типа «ls *.doc», переадресацией ввода–вывода, например, «ls>file». Эти средства полезны и эффективны, но представляют лишь часть всех средств shell’а.

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

Интерактивная процедура представляет собой простую последовательность команд, а программа, реализующая то же самое действие, – сложную логическую структуру. Опыт показывает, что наличие развитых управляющих структур для повторения последовательностей операторов и проверки определенных условий облегчает создание хороших программ. Известно также, что во многих случаях целесообразно применять системные переменные, значение которых изменяется в процессе выполнения программы.

Интерпретатор shell системы UNIX располагает как управляющими структурами, так и системными переменными. Shell обычная программа, т.е. она не входит в ядро операционной системы UNIX. Ее можно заменить на другую или иметь несколько.



<== предыдущая лекция | следующая лекция ==>
Псевдонимы команд | Задание значений переменных и их отмена


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


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

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

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


 


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

 
 

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

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