O teste -x
está verificando se o arquivo existe e é executável (ou no caso de um diretório atravessado / pesquisável).
Seu arquivo de funções provavelmente não tem permissão de execução.
Na verdade, não é necessário ter permissões de execução enquanto você estiver obtendo o script atual. Você pode incluí-lo sem um teste
. /etc/rc.d/init.d/functions
ou inclua-o se existir
if [ -e /etc/rc.d/init.d/functions ];then
. /etc/rc.d/init.d/functions
else
echo "Some meaningful error message"
exit 1
fi
Você provavelmente deseja sair se não existir e também estiver usando algo em que depende.