@kavabangaungava
Всякое бывало.

Как перенести вывод переменной в bash на новую строку?

Отправляю данные об утилизации дискового пространства

if [ "$free_space" -lt "$threshold" ]; then
    top_directories=$(du -h --max-depth=1 / 2>/dev/null | sort -rh | head -n 5)

    message=$(echo -e "Внимание. Свободное место на /dev/vda1 меньше $threshold%. Топ-5 занятых директорий:\n$top_directories")

    curl -s -X POST "https://api.telegram.org/bot$telegram_bot_token/sendMessage" -d "chat_id=$telegram_chat_id" -d "text=$message"
fi


Переменная $top_directories не переносится на новую строку, хотя перед ней стоит символ переноса на новую строку.

Получаю что-то вроде этого:
Внимание. Свободное место на /dev/vda1 меньше 28%. Топ-5 занятых директорий:\n 15G /
7.2G /var
4.8G /usr
1.3G /snap
251M /boot
  • Вопрос задан
  • 146 просмотров
Решения вопроса 1
@Everything_is_bad
1. ну сам же мог в консоле отлаживать, делаешь echo -n "Внимание\nСвободное" и упс
2. открываешь гугл и пишешь "bash echo new line"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
man printf. Да-да, в баше есть такая штука. Вот там будет нужное форматирование.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы