Давайте посмеемся над программой, которая печатает название нового исполнителя / песни каждые несколько секунд с помощью функции оболочки:
printsong() {
local i=0
while :; do
echo "artist - song $((++i))"
sleep 3
done
}
Теперь мы читаем из этой функции и перезаписываем файл каждый раз, когда получаем новый строка:
printsong | while IFS= read -r song; do echo "$song" > output; done
output
теперь всегда будет содержать самую последнюю строку вывода из printsong
.