Время в терминале

Автор IgnisFatuus, 18 сентября 2012, 08:26:30

« назад - далее »

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

IgnisFatuus

Добрый день! Подскажите ожалуйста, как в терминале при выводе любой информации (например при запуске программы с выводом "Hello World!") сделать так, чтобы было указано ВРЕМЯ вывода на экран? Заранее спасибо.

Brainey

Добавить в .bashrc строчку PS1='', где между '' указать нужный вариант:
\t — время в 24-часовом формате (ЧЧ: MM: СС)
\T — время в 12-часовом формате (ЧЧ: ММ: СС)
\@   — время в 12-часовом формате (AM/PM)
Конференция форума в jabber: debianforum@conference.jabber.ru | Клуб кедоводов: kde@conference.jabber.ru

lisss

Цитата: Brainey от 18 сентября 2012, 13:00:54
Добавить в .bashrc строчку PS1='', где между '' указать нужный вариант:
\t — время в 24-часовом формате (ЧЧ: MM: СС)
\T — время в 12-часовом формате (ЧЧ: ММ: СС)
\@   — время в 12-часовом формате (AM/PM)
да ладно! я думаю, вы невнимательно прочитали вопрос :)

kobzar

да помоемуц все верно ответили ???
Ты дорого мой друг, заплатишь за ошибку,..
Когда оскал мой милый, ты приймешь за улыбку.

Alexey_F

И действительно, а о каком именно времени идёт речь? Возможны варианты.

0 - время начала выполнения - составная команда вида date ; <command>
1 - время вывода конкретной строки - конвейер с bash-скриптом, ожидающим перевода строки и выводящим текущее время, должен помочь.
2 - время выполнения - команда time
3 - время завершения выполнения - составная команда вида <command> ; date. Также подойдёт и описанный Brainey способ.

Может быть, есть и другие интерпретации вопроса. Требуется больше ясности.

lisss

я думаю, автор хочет такое:
Цитировать12:10:15 Начали закачку
12:16:57 закачали файл1
12:24:09 закачали файл2
12:35:23 закачали файл3
12:35:24 Все закачки завершены

vladimir_ar

Добавил себе в bashrc ключ \t - время отображается, но при переборе истории команд клавишами вверх/вниз и при редактировании команды сбивается положение курсора и забиваются символы, наезжают друг на друга (wheezy - xfce)  ???
Debian Testing, kernel 3.16-2-amd64, OpenBox
AMD A8-3750 / 16Gb RAM / ATI HD6550D (onboard) / Sound ASUS Xonar - DS
_______________________________
Debian Testing, kernel 3.14-2-amd64, OpenBox
HP-655 AMD E1 / 8Gb RAM / ATI HD7310M

orlyanuch

Цитата: vladimir_ar от 19 сентября 2012, 21:04:32Добавил себе в bashrc ключ \t - время отображается, но при переборе истории команд клавишами вверх/вниз и при редактировании команды сбивается положение курсора и забиваются символы, наезжают друг на друга
Вот блин, а я с этим глюком второй год живу... Не знал, от чего он. Пошёл удалять эту \t.
Edimus, ut vivamus; nоn vivimus, ut edamus.

IgnisFatuus

#8
Я вероятно не верно задал вопрос. Ситуация такова - я тестирую некий программный модуль(не свой). Подключаюсь к нему своим модулем и выполняю в цикле некие действия.

В терминале, где я запускаю ЯДРО тестируемого модуля порой вылетает отладочная информация, которую Мат запрещен трудно поймать - можно 2-30-40 минут сидеть и ничего, а можно отвернуться  и - вуаля... В моем тесте есть(соответственно) пометки о выполняемых в данный момент действиях.

Так вот - я хочу получить возможность сопоставлять время вывода отладочной информации с временем выполнения действий теста. Как это сделать. Функцию time в 20к строк теста ставить - геморрой....

lisss

И все же я был прав.
но начав ковырять так ничего и не смог придумать, чтобы вам помочь.
а вообще, я для такого использую запись в системный лог.

для примера:
ping ya.ru|logger -t 'yandex_pinger'
в /var/log/messages (ну или куда у вас системные логи пишутся) появятся строчки от программы yandex_pinger
чтобы еще и в консоль дублировалось (но без временной метки):
ping ya.ru|logger -s -t 'yandex_pinger'