To jest pisanka w man
. Gdy biegniesz man
bez określania strony lub za pomocą -w
, wyświetla „gimme gimme gimme” do stderr, ale tylko o 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
Kod wyjścia to zawsze 0.
Prawidłowe wyjście powinno zawsze być:
# man -w
/usr/local/share/man:/usr/share/man:/usr/man
# echo $?
0
# man
What manual page do you want?
# echo $?
1
Ciąg „gimme gimme gimme” można znaleźć w RHEL, OpenSUSE, Fedora, Debian i prawdopodobnie więcej, więc nie jest tak naprawdę specyficzny dla dystrybucji. Możesz zweryfikować grep
swój man
plik binarny.
Ten kod jest odpowiedzialny za dane wyjściowe dodane przez to zatwierdzenie :
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");
Skontaktowałem się z obsługą RHEL w sprawie tego problemu.
Ciąg pochodzi od znanej piosenki ABBA Gimme! Dawaj! Dawaj! (Człowiek po północy) .
Twórca man-db, Colin Watson, zdecydował, że było wystarczająco zabawy i historia nie zostanie zapomniana, i całkowicie usunął pisankę .
Dziękuję Colin!