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…
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Вызов системных функций и стандартных диалоговых окон оболочки Windows
Вызов системных функций и стандартных диалоговых окон оболочки Windows Из сценариев WSH можно выводить на экран стандартные диалоговые окна Windows (например, Выполнить (Run)) и модули панели управления (например, Установка даты и времени (Date/Time)). Для этого используются системные
Вызов функций
Вызов функций После объявления функции ее можно вызвать из любого Web-сценария, присутствующего на этой же Web-странице. Формат вызова функции:<имя функции>([<список фактических параметров, разделенных запятыми>])Здесь указывается имя нужной функции и в круглых
Вызов функций
Вызов функций После объявления функции ее можно вызвать из любого Web-сценария, присутствующего на этой же Web-странице. Формат вызова функции:<имя функции>([<список фактических параметров, разделенных запятыми>])Здесь указывается имя нужной функции и в круглых
Вызов процедур и функций
Вызов процедур и функций Процедуры и функции вызываются по их названию с указанием в круглых скобках списка параметров, например:s:= IntToStr(i); //вызов функции IntToStrdelete(s, 1, 2); {вызов процедуры delete, которая удаляет из строки s два символа, начиная с первого. В данном случае,
Совет 46. Передавайте алгоритмам объекты функций вместо функций
Совет 46. Передавайте алгоритмам объекты функций вместо функций Часто говорят, что повышение уровня абстракции языков высокого уровня приводит к снижению эффективности сгенерированного кода. Александр Степанов, изобретатель STL, однажды разработал небольшой комплекс
10. Шаблоны функций
10. Шаблоны функций В этой главе рассказывается, что такое шаблон функции, как его определять и использовать. Это довольно просто, и многие программисты применяют шаблоны, определенные в стандартной библиотеке, даже не понимая, с чем они работают. Только пользователи,
12.3.5. Адаптеры функций для объектов-функций
12.3.5. Адаптеры функций для объектов-функций В стандартной библиотеке имеется также ряд адаптеров функций, предназначенных для специализации и расширения как унарных, так и бинарных объектов-функций. Адаптеры – это специальные классы, разбитые на следующие две
Вызов функций Windows API
Вызов функций Windows API Для вызовов функций Windows API используется механизм P/Invoke. Большинство часто вызываемых функций находится в библиотеке coredll.dll.Разработчики, которые пользовались функциями API в настольной версии Windows, наверняка обратят внимание на то, что эта библиотека
19.6. Файл функций
19.6. Файл функций После того, как будет создано несколько регулярно используемых функций, их можно поместить в файл функций, а затем загружать этой файл в среду интерпретатора shell.В начале файла функции должна находиться конструкция #!/bin/sh. Этому файлу можно присвоить любое
19.7. Создание файла функций
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. Вызов функций, размещенных в сценариях Чтобы использовать функцию в сценарии, ее нужно создать, затем убедиться в том, что конструкция, вызывающая эту функцию, находится после программного кода самой функции. Ниже приводится сценарий, из которого вызываются две
Вызовы функций
Вызовы функций Вызовы функций имеют такой же синтаксис, как и вызовы процедур. Они могут быть квалифицированные и неквалифицированные: в первом случае используется нотация с многоточием. При соответствующих объявлениях класса и функций, они, например, таковы:b.fb.g(x, y,
Вызов функций
Вызов функций После того как мы объявили функцию, мы можем вызвать ее из любого места кода в пределах области видимости. Для этого используется следующий формат: <Имя функции>([<Список фактических параметров, разделенных запятыми>]) Здесь указывается имя нужной