Este é um ovo de páscoa em man
. Quando você executa man
sem especificar a página ou com -w
, ele gera "gimme gimme gimme" para stderr, mas apenas às 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
O código de saída é sempre 0.
A saída correta deve ser sempre:
# man -w
/usr/local/share/man:/usr/share/man:/usr/man
# echo $?
0
# man
What manual page do you want?
# echo $?
1
A string "gimme gimme gimme" pode ser encontrada no RHEL, no OpenSUSE, no Fedora, no Debian e provavelmente mais, então não é muito específico da distribuição. Você pode grep
your man
binary para verificar.
Este código é responsável pela saída , adicionado por este 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");
Eu entrei em contato com o suporte do RHEL sobre esse problema.
A string vem de uma conhecida canção do ABBA Gimme! Me dê! Me dê! (Um homem depois da meia-noite) .
O criador do man-db, Colin Watson, decidiu que havia bastante diversão e que a história não seria esquecida e removeu completamente o ovo da páscoa .
Obrigado Colin!