19.11.2. Вызов функций из файла функций

19.11.2. Вызов функций из файла функций

Мы уже рассматривали, каким образом функции вызываются из командной строки. Эти типы функций обычно используются утилитами, создающими системные сообщения.

А теперь воспользуемся снова описанной выше функцией, но в этом случае поместим ее в файле функций. Назовем этот файл functions.sh, где "sh" означает "shell scripts" (сценарии интерпретатора shell).

$ pg functions.sh

#!/bin/sh

#functions.sh

#основные функции

is_it_a_directory () (

#is_it_a_directory

#вызов: is_it_a_directory имя_каталога #

if [ $# -lt 1 ]; then

echo "is_it_a_directory: I need a directory name to check"

return 1

fi

# это каталог ?

DIRECTORY_NAME=$1

if [ ! -d $DIRECTORY_NAME ]; then

return 1 else

return D fi )

error_msg ()

{

echo -e "07"

echo $@

echo -e "07"

return 0

}

Создадим сценарий, вызывающий функции из файла functions.sh. Затем эти функции могут использоваться для выполнения каких?либо задач. Обратите внимание, что файл функций загружается с помощью следующего формата команд:

. /<путь к файлу>

При использовании этого метода не создается порожденный интерпретатор shell; все функции остаются в текущем интерпретаторе shell.

$ pg dlrec_check

#!/bin/sh

# direc_check

# загрузка файла функций functions.sh # ниже точка, пробел и косая черта. /home/dave/bin/functions.sh

# теперь могут использоваться функции

echo -n "enter destination directory :"

read DIREC

if is_it_a_directory $DIREC

then : .

else

error_msg "$DIREC does not exist… creating it now"

mkdir $DIREC > /dev/null 2>$1

if [ $? ! — 0 ]

then

error_msg "Could not create directory: check it out!"

exit 1

else :

fi

fi # не является каталогом

echo "extracting files…"

При выполнении сценария получается тот же вывод, что и при встраивании функции в сценарий:

S direc_check

enter destination directory :AUDIT

AUDIT does not exist… creating it now

extracting files…

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Вызов процедур и функций

Из книги Delphi. Учимся на примерах автора Парижский Сергей Михайлович

Вызов процедур и функций Процедуры и функции вызываются по их названию с указанием в круглых скобках списка параметров, например:s:= IntToStr(i); //вызов функции IntToStrdelete(s, 1, 2); {вызов процедуры delete, которая удаляет из строки s два символа, начиная с первого. В данном случае,


Совет 46. Передавайте алгоритмам объекты функций вместо функций

Из книги Эффективное использование STL автора Мейерс Скотт

Совет 46. Передавайте алгоритмам объекты функций вместо функций Часто говорят, что повышение уровня абстракции языков высокого уровня приводит к снижению эффективности сгенерированного кода. Александр Степанов, изобретатель STL, однажды разработал небольшой комплекс


Вызовы функций

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Вызовы функций Вызовы функций имеют такой же синтаксис, как и вызовы процедур. Они могут быть квалифицированные и неквалифицированные: в первом случае используется нотация с многоточием. При соответствующих объявлениях класса и функций, они, например, таковы:b.fb.g(x, y,


Вызов системных функций и стандартных диалоговых окон оболочки Windows

Из книги Windows Script Host для Windows 2000/XP автора Попов Андрей Владимирович

Вызов системных функций и стандартных диалоговых окон оболочки Windows Из сценариев WSH можно выводить на экран стандартные диалоговые окна Windows (например, Выполнить (Run)) и модули панели управления (например, Установка даты и времени (Date/Time)). Для этого используются системные


Вызов функций

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов. автора Дронов Владимир

Вызов функций После объявления функции ее можно вызвать из любого Web-сценария, присутствующего на этой же Web-странице. Формат вызова функции:<имя функции>([<список фактических параметров, разделенных запятыми>])Здесь указывается имя нужной функции и в круглых


Вызов функций

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов автора Дронов Владимир

Вызов функций После объявления функции ее можно вызвать из любого Web-сценария, присутствующего на этой же Web-странице. Формат вызова функции:<имя функции>([<список фактических параметров, разделенных запятыми>])Здесь указывается имя нужной функции и в круглых


Вызов функций Windows API

Из книги Программирование КПК и смартфонов на .NET Compact Framework автора Климов Александр П.

Вызов функций Windows API Для вызовов функций Windows API используется механизм P/Invoke. Большинство часто вызываемых функций находится в библиотеке coredll.dll.Разработчики, которые пользовались функциями API в настольной версии Windows, наверняка обратят внимание на то, что эта библиотека


Вызов функций

Из книги Macromedia Flash Professional 8. Графика и анимация автора Дронов В. А.

Вызов функций После того как мы объявили функцию, мы можем вызвать ее из любого места кода в пределах области видимости. Для этого используется следующий формат: <Имя функции>([<Список фактических параметров, разделенных запятыми>]) Здесь указывается имя нужной


19.6. Файл функций

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

19.6. Файл функций После того, как будет создано несколько регулярно используемых функций, их можно поместить в файл функций, а затем загружать этой файл в среду интерпретатора shell.В начале файла функции должна находиться конструкция #!/bin/sh. Этому файлу можно присвоить любое


19.7. Создание файла функций

Из книги C++ для начинающих автора Липпман Стенли

19.7. Создание файла функций А теперь создадим файл функций, включающий одну функцию. Эта функция будет загружена интерпретатором команд, протестирована, изменена, а затем повторно загружена.Создаваемый файл функций functions.main будет содержать следующий код:$ pg functions.main#!/bin/sh#


19.10. Вызов функций интерпретатора shell

Из книги автора

19.10. Вызов функций интерпретатора shell Для вызова функции просто введите ее имя (в данном случае findit) и укажите аргумент, в роли которого может выступать файл, размещенный в системе.$ findit groups/usr/bin/groups


19.11. Вызов функций

Из книги автора

19.11. Вызов функций В завершение этой главы рассмотрим два различных способа работы с функциями: вызов функций из исходного файла и применение функций, размещенных в


19.11.1. Вызов функций, размещенных в сценариях

Из книги автора

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


10. Шаблоны функций

Из книги автора

10. Шаблоны функций В этой главе рассказывается, что такое шаблон функции, как его определять и использовать. Это довольно просто, и многие программисты применяют шаблоны, определенные в стандартной библиотеке, даже не понимая, с чем они работают. Только пользователи,


12.3.5. Адаптеры функций для объектов-функций

Из книги автора

12.3.5. Адаптеры функций для объектов-функций В стандартной библиотеке имеется также ряд адаптеров функций, предназначенных для специализации и расширения как унарных, так и бинарных объектов-функций. Адаптеры – это специальные классы, разбитые на следующие две