Почему человек печатает «gimme gimme» в 00:30?

Мы заметили, что некоторые из наших автоматических тестов терпят неудачу, когда они работают в 00:30, но отлично работают в течение оставшегося дня. Они терпят неудачу с сообщением «gimme gimme gimme» в stderr, чего не ожидалось. Почему мы получаем этот результат?

1532 голоса | спросил Jaroslav Kucera 20 12017vEurope/Moscow11bEurope/MoscowMon, 20 Nov 2017 17:19:31 +0300 2017, 17:19:31

3 ответа


392

Это пасхальное яйцо в man. Когда вы запускаете man без указания страницы или с помощью -w, он выводит «gimme gimme gimme» на stderr, но только в 00:30:

# date +%T -s "00:30:00"
00:30:00
# man -w
gimme gimme gimme
/usr/local/share/man:/usr/share/man:/usr/man

Код выхода всегда равен 0.

Правильный вывод всегда должен быть:

# man -w
/usr/local/share/man:/usr/share/man:/usr/man
# echo $?
0
# man
What manual page do you want?
# echo $?
1

Строка «gimme gimme gimme» может быть найдена в RHEL, OpenSUSE, Fedora, Debian и, возможно, больше, поэтому она не является специфической для дистрибутива. Вы можете grep сохранить свой man двоичный файл.

Этот код отвечает за вывод , добавленный this commit :

src/man.c-1167- if (first_arg == argc) {
src/man.c-1168-   /* 
http://twitter.com/#!/marnanel/status/132280557190119424 */
src/man.c-1169-   time_t now = time (NULL);
src/man.c-1170-   struct tm *localnow = localtime (&now);
src/man.c-1171-   if (localnow &&
src/man.c-1172-       localnow->tm_hour == 0 && localnow->tm_min == 30)
src/man.c:1173:     fprintf (stderr, "gimme gimme gimme\n");

Я связался с RHEL по поводу этой проблемы.

Строка взята из известной песни ABBA Gimme! Дай мне! Дай мне! (Человек после полуночи) .


Разработчик man-db, Колин Уотсон, решил, что было достаточно забавы, и история не будет забыта и полностью удалено пасхальное яйцо .

Спасибо, Колин!

ответил Jaroslav Kucera 20 12017vEurope/Moscow11bEurope/MoscowMon, 20 Nov 2017 17:19:31 +0300 2017, 17:19:31
2042
  

Дорогой @colmmacuait , я думаю, что если вы наберете «человек» в 00:00, он должен напечатать «gimme gimme» дай мне». #abba
@marnanel - 3 ноября 2011 г.

er, это была моя ошибка, я предложил это. К сожалению.

В значительной степени вся история заключается в фиксации. Сопровождающий человек - мой хороший друг, и однажды шесть лет назад я в шутку сказал ему, что, если вы вызовете человека после полуночи, он должен напечатать « gimme gimme gimme » из-за песни Абба называемый « Gimme gimme gimme человек после полуночи ":

Ну, он действительно поставьте его в . Несколько человек были удивлены, узнав об этом, и мы в основном забыли об этом до сегодняшнего дня.

Я не могу говорить для Col , очевидно, но я не ожидал, что это когда-нибудь вызовет какие-либо проблемы: какой тест будет ломаться при разборе вывода человека без указанной страницы? Полагаю, я не должен удивляться тому, что в конце концов появился, но прошло шесть лет.

( передать сообщение называет меня Томасом, это мое юридическое имя, хотя я не использую его в Интернете много.)

Эта проблема исправлена ​​с фиксацией 84bde8 : Запуск человека с помощью man -w больше не будет запускать это пасхальное яйцо.

ответил Marnanel Thurman 21 22017vEurope/Moscow11bEurope/MoscowTue, 21 Nov 2017 03:20:50 +0300 2017, 03:20:50
337

После некоторого размышления я удалил это Пасхальное яйцо . Он исчезнет в предстоящем man-db 2.8.0.

Я рад, что это заставило некоторых людей улыбнуться, что, в конце концов, было цельной целью этого, и мои уведомления в Twitter и т. д. сегодня показывают, что большинство людей думало, что это было более забавно, чем раздражать. Тем не менее, некоторые люди находят это раздражающим, и шесть лет кажутся довольно успешными для такого рода вещей; это, вероятно, не приведет к значительно лучшему воздействию, чем это уже неожиданно имеет в связи с этим вопросом. Время положить его в постель.

ответил Colin Watson 22 32017vEurope/Moscow11bEurope/MoscowWed, 22 Nov 2017 04:47:58 +0300 2017, 04:47:58

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132