Você está definindo funções chamadas set
e unset
. Esta é uma idéia muito ruim, porque o seu módulo de complicação parece chamar set ou unset (que são parte do POSIX), esperando usar os builtins do shell, mas acaba recebendo sua função.
Nomeie suas funções como algo diferente de set
e unset
(se você realmente precisar nomeá-las, preencha um sublinhado).
Como um aparte, não há razão para criar funções como function foo { ... }
. Apenas use foo() { ... }
- é parte do POSIX, enquanto o formulário que você está usando não é.