Выполнять, только если это функция bash

Флаг - это тип опции, опция булева типа, по умолчанию всегда ложная (например, --verbose, --quiet, --all, --long и т.д.).

Опция указывает функции как действовать (например, -a, -l, --verbose, --output , -name , -c , etc), а аргументы указывают функции на что действовать (например, *, file1, hostname, database).

3
21.07.2015, 09:59
1 ответ

Формальный способ, который предоставляет Bash для этого, - использование встроенной функции type в виде type -t:

function fun() {
  : foo bar
}

if [ function = $(type -t fun) ]; then
  echo fun is a function.
fi

Если имя функции из списка параметров вызывает у вас подозрения, просто заключите его в двойные кавычки: $(type -t "$arg")

2
27.01.2020, 21:14

Теги

Похожие вопросы