9. Средства программирования shell

Вы можете использовать shell для создания программ. Такие программы называются также процедурами shell. В этом разделе рассказывается как создавать и выполнять программы shell с помощью команд, переменных, позиционных параметров, кодов возврата.

Прежде чем создавать программы shell необходимо изучить редактор.

9.1. Программы shell

9.1.1. Создание простых программ shell

Начнем описание создания простых программ shell, которые выполняют задачи:

С помощью редактора создайте файл dl и введите в него строки:

        pwd<CR>
        ls<CR>
        echo This is the end of the shell program.<CR>

Теперь вы имеете программу shell. Вы можете с помощью cat отобразить содержимое файла:

        $ cat dl<CR>
        pwd
        ls
        echo This is the end of the shell program.
        $

9.1.2. Выполнение программ shell

Выполнить shell программу вы можете с помощью команды sh. Введите:

	sh dl<CR>

Когда команда dl выполняется с помощью sh, то вначале печатается имя пути текущего справочника, потом список файлов в текущем справочнике и в конце комментарий: "This is the end of the shell program."

С помощью команды chmod вы можете сделать файл исполняемым:

        $ chmod u+x dl<CR>
        $ ls -l<CR>
        total 2
        -xw------ 1 login  login  3661  Nov  2   10:28 mbox
        -xwx----- 1 login  login    48  Nov 15   10:50 dl
        $

Обратите внимание, что chmod включает разрешение на выполнение (+x) для пользователя (u). Теперь dl является исполняемой программой. Попытайтесь выполнить ее. Введите:

	dl<CR>

9.1.3. Создание справочника bin для исполняемых файлов

Чтобы сделать shell программы доступными изо всех ваших справочников, вы можете создать справочник bin в своем регистрационном справочнике и переписать shell программы в этот справочник.

С помощью переменной PATH вы можете включить ваш справочник bin:

	PATH = $PATH:$HOME/bin 

9.1.4. Ограничения при именовании программ shell

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

Назад | Содержание | Вперед