Вы, похоже, путаете вывод с возвращаемым значением .
$function
- это переменная, кажется, вы ее нигде не заполняете. Чтобы заполнить его выводом функции, используйте
output=$(function_call)
Возвращаемое значение функции можно получить из специальной переменной $?
.
function_call
value=$?
Если вы хотите используйте его в условии, вам часто вообще не нужна переменная, поскольку вы можете запустить функцию непосредственно в условии:
function_call
if (( $? )) ; then
echo There was an error
else
echo Everything OK
fi
можно сократить до
if function_call ; then
echo Everything OK
else
echo There was an error
fi