Инсталляция Linux и первые шаги


Сценарии shell


прим. переводчика: применительно к программам этого типа в

англоязычной литературе последнее время преимущественно

используют слово script - "сценарий", хотя то, что под этим

имеется в виду во многих книгах на русском называется

"традиционно" как "программа на shell" или "командный файл"

Предположим, что вы часто используете серию команд и хотели

бы сократить объем постоянной печати за счет группировки их в

одну команду. Например, команды

/home/larry# cat chapter1 chapter2 chapter3 > book

/home/larry# wc -l book

/home/larry# lp book

об'единяют файлы, содержащие главы книги: chapter1,

chapter2, chapter3 и помещают результат в файл book.

Затем

подсчитывается число строк в книге (в файле book) и отображается

на дисплее и, наконец, печатается командой lp.

Вместо введения каждый раз этих команд, вы можете собрать их

в один сценарий (командный файл). Сценарии shell мы кратко опишем в

Разделе 3.13.1. А сценарий, который выполнит вышеприведенные

команды, будет выглядеть следующим образом

#!/bin/sh

# A shell script to create and print the book

cat chapter1 chapter2 chapter3 > book

wc -l book

lp book

Если этот сценарий будет помещен в файл makebook, то вы

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

/home/larry# makebook

которая выполнит все команды сценария. Сценарии shell - это

обычные текстовые файлы, которые вы можете создавать с помощью

редактора вроде emacs или vi. (vi обсуждался в Разделе 3.12)

Давайте посмотрим на этот сценарий. Первая строка

``#!bin/sh/'' говорит о том, что этот файл есть сценарий и

сообщает shell, как выполнить сценарий. В данном случае

необходимо передать сценарий для выполнения команде bin/sh/, где

bin/sh/ - сама программа shell. Почему это важно? В большинстве

систем UNIX bin/sh/ - это shell Баурновского типа, например bash.

Инициируя работу сценария shell выполняется, используя bin/sh/,

при этом мы гарантируем, что сценарий будет выполняться именно

под shell Баурновского типа (а не, скажем, под C shell). Этот




Начало  Назад  Вперед



Книжный магазин