Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 1-8 / ОС_07.doc
Скачиваний:
93
Добавлен:
04.04.2013
Размер:
114.69 Кб
Скачать

24

4. Основы программирования на командном языке (sh)

Версии Shell. ПеременныеShell. Присваивание значений переменным. Вывод содержимого переменных. Подстановка значений переменных. Использование переменныхShell. Специальные символы (кавычки, двойные кавычки, апострофы, обратные апострофы). АргументыShell-программы. Специальные параметры интерпретатора команд. Простые условные операторы (условное ИЛИ, условное И). Командаtest(сравнение строк, сравнение чисел, проверка состояния файла). Использование командыtestв оператореif. Управляющие конструкции высокого уровня (условный оператор (if), операторы цикла (forиwhile)). Операторыbreakиcontinue. Оператор выбораcase. Арифметические операции с переменнымиShell. Стандартные переменныеShell. Экспортирование переменных. Встроенные команды интерпретатораsh. Системные файлы. Запуск и режимы работыsh.

В любой операционной системе существует командная оболочка (интерпретатор команд), которая анализирует введенные команды и их аргументы, проверяет синтаксис, допустимость тех или иных ключей и т.д. и запускает соответствующую программу, т.е. создает в Unix процесс и передает ему управление.

Таким командным языком интерпретатором в Unix является Shell.

Помимо исполнения команд Shell выполняет и другие важные работы:

  • исполнение программ;

  • генерация имен файлов;

  • переназначение ввода и вывода;

  • конвейеризация;

  • контроль среды окружения;

  • интерпретация и выполнение командных процедур.

Версии Shell

Имеются 4 основных варианта Shell:

  • Bourne Shell (sh);

  • C-Shell (csh);

  • Korn Shell (ksh);

  • Bourne Again Shell (bash).

Bourne Shell - это оригинальный Unix Shell, присутствующий во всех Unix реализациях.

C-Shell был спроектирован и реализован в Калифорнийском университете в Беркли. Основной задачей разработчиков было повышение уровня интерактивности командного языка. К сожалению, был затронут синтаксис некоторых конструкций языка и потеряна совместимость с языком sh.

4.1. Переменные Shell

Имена переменных должны начинаться с буквы или символа подчеркивания:

k7

output_file

_ufile

4.2. Присваивание значений переменным

var=length

Контекстно определена (объявленная) переменная var и ей присвоено значение length.

Самой переменной length можно, в свою очередь, присвоить значение:

length=80

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

  1. использовать встроенную команду интерпретатора командного языка echo:

%echo $var # вывести значение переменной var

# - обратите внимание на

# символ $ перед именем переменной,

# он означает "Взять значение"

length # значение переменной var

%echo $length # вывести значение переменной length

80 # значение переменной length

В отличие от множества существующих языков программирования переменные Shell не связаны с определенным типом данных.

Любое значение, которое присваивается переменным Shell, воспринимается как строка.

Если переменной присваивают значение строки символов, то предпочтительно, чтобы эта строка была заключена в кавычки. Если в строке символов встречаются пробелы, то кавычки обязательны.

message="This is a string"

Соседние файлы в папке Лекции 1-8