У меня есть функция freespace_function, я использую эту функцию для обновления переменной $ free_disk_space во время выполнения скрипта. Проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда я вызываю функцию в моем скрипте, она отображает значение в терминале. Я не могу удалить эхо в функции, иначе у него нулевой выход. Я просто хочу, чтобы функция выполнялась без предупреждения (обновляла пространство free_disk_space), не выдавая вывод в терминале.
freespace_function () {
local function_result="$(df -m "${destination}" | tail -1 | awk '{print $4}')"
echo "${function_result}"
free_disk_space=$(freespace_function)
}
# inner loop
while [[ "${free_disk_space}" -lt "${source_size}" ]] ; do
echo "${free_disk_space} MB is not enough free space"
read -r -n 1 -p "please create free disk space to continue..."
freespace_function
if [[ "${free_disk_space}" -gt "${source_size}" ]] ; then
# breaks out of the inner loop when the if free space condition is true
break
fi
done