왜 남자는 00:30에 "gimme gimme gimme"를 인쇄합니까?

왜 남자는 00:30에 "gimme gimme gimme"를 인쇄합니까?

우리는 일부 자동 테스트가 00:30에 실행되면 실패하지만 나머지 시간에는 정상적으로 작동한다는 것을 확인했습니다. 메시지와 함께 실패합니다.

gimme gimme gimme

에서는 stderr예상하지 못한 일이었습니다. 왜 이 결과가 나오는 걸까요?

답변1

~에게@colmmacuait, 제 생각에는 0001시에 "man"을 입력하면 "gimme gimme gimme"이 인쇄되어야 할 것 같습니다.#아바
@marnanel- 2011년 11월 3일

어, 그건 내 잘못이었어, 내가 제안한 거야. 죄송합니다.

거의 모든 이야기가 커밋에 있습니다. man을 관리하는 사람은 나의 좋은 친구인데, 6년 전 어느 날 나는 그에게 자정 이후에 man을 호출하면 다음과 같이 인쇄되어야 한다고 농담으로 말했습니다.줘 줘 줘 줘"라는 아바 노래 때문에줘 줘 줘 자정 이후에 남자를 줘":

글쎄요, 실제로 그랬어요넣어 ~에. 몇몇 사람들은 그것을 발견하는 것을 즐겼고, 우리는 오늘까지 그것에 대해 대부분 잊어버렸습니다.

나는 Col에 대해 말할 수 없습니다, 분명히, 그러나 이것이 어떤 문제를 일으킬 것이라고는 예상하지 못했습니다. 페이지가 지정되지 않은 상태에서 man 의 출력을 구문 분석할 때 어떤 종류의 테스트가 중단됩니까? 결국 하나가 나타났다는 사실에 놀라지 말아야 한다고 생각합니다. 하지만 실제로는 6년이 걸렸습니다.

(그만큼커밋 메시지온라인에서는 잘 사용하지 않지만 법적 이름인 Thomas라고 부릅니다.)

이 문제는 커밋으로 해결되었습니다.84bde8:런닝맨은 man -w더 이상 이 이스터 에그를 발동시키지 않습니다.

답변2

이것은 의 부활절 달걀입니다 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 노래 내놔! 줘! 줘! (자정이 지난 남자).


man-db의 개발자인 Colin Watson은 충분히 재미 있고 스토리가 잊혀지지 않을 것이라고 판단하여부활절 달걀을 완전히 제거했습니다.

고마워요 콜린!

답변3

좀 더 생각해 본 후, 나는이 부활절 달걀을 삭제했습니다. 다가오는 man-db 2.8.0에서는 사라질 것입니다.

그것이 일부 사람들을 웃게 만들어서 기쁩니다. 결국 그것이 그것의 전체 목적이었고, 오늘 내 트위터 알림 등은 대부분의 사람들이 그것이 짜증나는 것보다 더 재미있다고 생각했다는 것을 시사합니다. 그럼에도 불구하고 어떤 사람들은 그것이 짜증스럽다고 생각했고, 그런 종류의 일에는 6년이 꽤 좋은 기간인 것 같습니다. 아마도 이 질문을 통해 이미 예상외로 노출된 것보다 훨씬 더 나은 노출을 얻지 못할 것입니다. 잠자리에 들 시간입니다.

관련 정보