A instrução return
é usada para definir um código de saída; não é usado como saída para uma atribuição de variável. Se você quiser capturar uma string como saída, provavelmente precisará escrevê-la para a saída padrão. Uma correção rápida seria a seguinte modificação do seu script:
#!/bin/bash
# Script in Host_1
if [ condition here ]
then
rm -r /folder #command to remove the files here
b=$(df -k /folder_name| awk '{print $4}' | tail -1) #get memory after clearing files.
echo "$b"
else
# NOTE:
# This return statement sets the exit-code variable: '$?'
# It does not return the value in the usual sense.
# return 1
# Write the value to stdout (standard output),
# so it can be captured and assigned to a variable.
echo 1
fi