Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Раскраска значений escape-кодов в терминале  (Прочитано 571 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн neman2024

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Доброго времени суток
Не пинайте за дебильный вопрос.
Подскажите, пожалуйста, пытаюсь раскрасить выводимый в терминале текст. Если делать так:
echo -e "\033[35mВремя \033[34mсуток\033[0m" - все окрашивается, как положено
Но если вместо текста добавить \d \t - то они хоть и раскрашиваются, но так и выводятся: \d \t, вместо даты и времени
Как сделать, чтобы выводилось окрашенное дата и время?
Заранее спасибо)

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7463
  • Luck Tales
    • Просмотр профиля
Re: Раскраска значений escape-кодов в терминале
« Ответ #1 : 26 Сентября 2024, 20:14:51 »
в echo \d ничего не означает, а \t - табуляция.
Если хотите выводить время  через echo, используйте следующий формат:echo -e "\033[35mВремя \033[34mсуток \033[33m$(date +%d.%m.%Y\ %R)\033[0m"
и man date почитайте
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн neman2024

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: Раскраска значений escape-кодов в терминале
« Ответ #2 : 27 Сентября 2024, 11:07:28 »
Добрый день
Каюсь, не совсем корректно сформулировал задачу, которую нужно решить:
нужно, чтобы окрашенное время выдавалось в приветствии, должно после логина браться из /etc/motd
Ваша строка великолепно работает в терминале:
echo -e "\033[35mВремя \033[34mсуток \033[33m$(date +%d.%m.%Y\ %R)\033[0m"
но если я пытаюсь добавить её в motd:
echo -e "\033[35mВремя \033[34mсуток \033[33m$(date +%d.%m.%Y\ %R)\033[0m" >> /etc/motd
она туда добавляется в виде фактической фиксированной даты и времени на момент выполнения команды (хоть и окрашенной ;) )
если же ее в motd прописывать руками, то выдается окрашенный код команды, а не дата и время((
Заранее спасибо)

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7463
  • Luck Tales
    • Просмотр профиля
Re: Раскраска значений escape-кодов в терминале
« Ответ #3 : 27 Сентября 2024, 11:56:28 »
в motd только статический текст.
Добавьте в /etc/profile.d/custom.sh

(Нажмите, чтобы показать/скрыть)
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн neman2024

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: Раскраска значений escape-кодов в терминале
« Ответ #4 : 27 Сентября 2024, 14:51:40 »
Нет слов :) :)
Спасибо))

Пользователь добавил сообщение 27 Сентября 2024, 19:17:23:
Если не сложно - подскажите ещё такой момент:
запись, сделанная в /etc/profile.d/custom.sh
echo -e "\033[35mВремя \033[34mсуток \033[33m$(date +%d.%m.%Y\ %R)\033[0m"
по разному отражается у пользователей различных групп.
У админа (не root, естественно), все отражается так, как задумано,
а у юзеров дополнительно появляется неокрашенный флаг -е перед словом "Время".
Почему-то ни каком формате не вставляются скриншоты, не могу показать
Спасибо,
« Последнее редактирование: 27 Сентября 2024, 19:29:45 от neman2024 »

 

Страница сгенерирована за 0.04 секунд. Запросов: 25.