Это пасхальное яйцо 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
бинарный файл.
Этот код отвечает за вывод , добавленный этим коммитом :
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, Колин Уотсон, решил, что было достаточно веселья, и история не забудется, и полностью удалил пасхальное яйцо .
Спасибо, Колин!