Флаг - это тип опции, опция булева типа, по умолчанию всегда ложная (например, --verbose, --quiet, --all, --long и т.д.).
Опция указывает функции как действовать (например, -a, -l, --verbose, --output , -name , -c , etc), а аргументы указывают функции на что действовать (например, *
, file1, hostname, database).
Формальный способ, который предоставляет Bash для этого, - использование встроенной функции type
в виде type -t
:
function fun() {
: foo bar
}
if [ function = $(type -t fun) ]; then
echo fun is a function.
fi
Если имя функции из списка параметров вызывает у вас подозрения, просто заключите его в двойные кавычки: $(type -t "$arg")