Я пытаюсь сбросить функцию, используя поиск всех из них, а затем зацикливаясь, чтобы сбросить их без удачи
Работает не петлевый способ (пример, где bar_ создается и сбрасывается)
function bar_ { echo "bar"; }
function_name="bar_"
echo -n "before unset found function: --> "
declare -F $function_name || echo "<not found>"
unset -f $function_name
echo -n "after unset found function: --> "
declare -F $function_name || echo "<not found>"
echo ""
Однако при сбросе в цикле он не может удалить себя
function foo_ { echo "bar"; }
declare -F | cut -d" " -f3 | grep foo_ | while read function_name
do
echo -n "before under found function: --> "
declare -F $function_name || echo "<not found>"
unset -f ${function_name}
done
echo -n "after unset found function: --> "
declare -F foo_ || echo "<not found>"
echo ""
Это какая-то проблема с областью действия?Я попытался обернуть неустановленное выражение в eval безрезультатно.