Dies ist ein Osterei in man
. Wenn Sie man
ohne Angabe der Seite oder mit ausführen -w
, wird "gimme gimme gimme" an stderr ausgegeben, jedoch nur um 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
Der Exit-Code ist immer 0.
Die korrekte Ausgabe sollte immer sein:
# man -w
/usr/local/share/man:/usr/share/man:/usr/man
# echo $?
0
# man
What manual page do you want?
# echo $?
1
Die Zeichenfolge "gimme gimme gimme" ist in RHEL, OpenSUSE, Fedora, Debian und wahrscheinlich in mehr zu finden, es ist also nicht wirklich distro-spezifisch. Sie können grep
Ihre man
Binärdatei überprüfen.
Dieser Code ist für die Ausgabe verantwortlich , die durch dieses Commit hinzugefügt wird :
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");
Ich habe den RHEL-Support wegen dieses Problems kontaktiert.
Die Saite stammt aus dem bekannten ABBA-Song Gimme! Gib mir! Gib mir! (Ein Mann nach Mitternacht) .
Der Entwickler der man-db, Colin Watson, entschied, dass es genug Spaß gab und die Geschichte nicht vergessen wird und entfernte das Osterei vollständig .
Vielen Dank, Colin!