14.4.4 Преобразование скрипта в команду

Для преобразования скрипта в комнаду, сделайте три простых шага:

1. Добавьте специальную строку в начало файла, чтобы система определяла текст как командный скрипт.

2. Установите права доступа на файл, так, чтобы он был исполняемым.

3. Скопируйте скрипт в каталог с исполняемыми файлами.

В shell-скриптах для комментариев используются символы # в начале строки. Если первая строка начинается с символов #!, командный интерпретатор распознает с помощью этого маркера файл командного скрипта. Текст в строке после символов #! указывает на необходимый для исполнения интерпретатор. В большом количестве случаев мы видим строку #!/bin/sh в начале файла.

Отредактируйте файл скрипта listrpmpkgs, добавив строку, указывающую на интерпретатор:

#!/bin/sh

rpm -qa | grep rpm

Далее, измените права на файл для предоставления возможности его выполнения. Для проверки прав используется команда ls -l:

$ ls -l listrpmpkgs

-rw-rw-r-- 1 ericfj ericfj 31 Nov 7 20:02 listrpmpkgs

$ chmod u+x listrpmpkgs

$ ls -l listrpmpkgs

-rwxrw-r-- 1 ericfj ericfj 31 Nov 7 20:02 listrpmpkgs

Теперь мы имеем команду, которую можно запускать локально. Например:

$ ./listrpmpkgs

librpm404-devel-4.0.4-8x.27

librpm404-4.0.4-8x.27

rpm404-python-4.0.4-8x.27

rpm-4.1-1.06

rpm-devel-4.1-1.06

gnorpm-0.9-1

rpm-python-4.1-1.06

redhat-rpm-config-8.0-1

rpm-build-4.1-1.06

rpmrebuild-1.0-0

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

$ echo $PATH

/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/ericfj/bin:/usr/java/j2sdk1.4.0_01/bin

Выберите один из указанных каталогов. Каталог /usr/local/bin - стандартное место для хранения локально созданных команд. Если имеется в виду команда, которая будет использоваться одним пользователем, разумно задействовать каталог под домашним каталогом этого пользователя. /home/ericfj/bin в примере выше - такой каталог. Скопируйте файл скрипта в один из каталогов и все будет готово к запуску.

Введите команду:

$ listrpmpkgs

librpm404-devel-4.0.4-8x.27

librpm404-4.0.4-8x.27

rpm404-python-4.0.4-8x.27

rpm-4.1-1.06

rpm-devel-4.1-1.06

gnorpm-0.9-1

rpm-python-4.1-1.06

redhat-rpm-config-8.0-1

rpm-build-4.1-1.06

rpmrebuild-1.0-0

В отличие от ОС Windows, Linux-скрипты не обязаны иметь специальные расширения в именах файлов.

Если вы хотите сделать скрипт доступным для всех пользователей, выполните:

$ chmod a+x listrpmpkgs

В этом случае, скрипт будет доступен для запуска всем.

Далее - Передача параметров в скрипт
Назад - Проблемы при запуске скрипта
Содержание