เราได้สังเกตเห็นว่าการทดสอบอัตโนมัติบางส่วนของเราล้มเหลวเมื่อทำงานเวลา 00:30 น. แต่ทำงานได้ดีตลอดวัน พวกเขาล้มเหลวด้วยข้อความ "gimme gimme gimme" ใน stderr ซึ่งไม่คาดคิด เหตุใดเราจึงได้รับผลลัพธ์นี้
เราได้สังเกตเห็นว่าการทดสอบอัตโนมัติบางส่วนของเราล้มเหลวเมื่อทำงานเวลา 00:30 น. แต่ทำงานได้ดีตลอดวัน พวกเขาล้มเหลวด้วยข้อความ "gimme gimme gimme" ใน stderr ซึ่งไม่คาดคิด เหตุใดเราจึงได้รับผลลัพธ์นี้
คำตอบ:
เรียน@colmmacuaitฉันคิดว่าถ้าคุณพิมพ์ "man" ที่เวลา 0001 ชั่วโมงควรพิมพ์ "gimme gimme gimme" #abba @marnanel - 3 พฤศจิกายน 2554
เอ่อนั่นคือความผิดของฉันฉันแนะนำมัน ขอโทษ
เรื่องราวทั้งหมดอยู่ในความมุ่งมั่น ผู้ดูแลมนุษย์เป็นเพื่อนที่ดีของฉันและวันหนึ่งเมื่อหกปีก่อนฉันพูดติดตลกกับเขาว่าถ้าคุณเรียกคนหลังเที่ยงคืนมันควรจะพิมพ์ " gimme gimme gimme " เพราะเพลง Abba เรียกว่า " Gimme gimme gimme a man" หลังเที่ยงคืน ":
ดีเขาไม่จริงใส่ไว้ ใน มีคนไม่กี่คนที่ขบขันที่จะค้นพบมันและเราส่วนใหญ่ลืมไปจนถึงวันนี้
ฉันไม่สามารถพูดกับ Colได้อย่างชัดเจน แต่ฉันไม่ได้คาดหวังว่าสิ่งนี้จะทำให้เกิดปัญหาใด ๆ : การทดสอบประเภทใดที่จะแยกวิเคราะห์ผลลัพธ์ของมนุษย์โดยไม่มีการระบุหน้าเว็บ ฉันคิดว่าฉันไม่ควรแปลกใจที่ในที่สุดจะมีคนกลับมา แต่ใช้เวลาหกปี
( ข้อความคอมมิชชันเรียกฉันว่าโทมัสซึ่งเป็นชื่อทางกฎหมายของฉันแม้ว่าฉันจะไม่ได้ใช้ออนไลน์มากนัก)
ปัญหานี้ได้รับการแก้ไขด้วยความมุ่งมั่น84bde8 : Running man ที่man -w
จะไม่ทำให้เกิดไข่อีสเตอร์นี้อีกต่อไป
นี่คือไข่อีสเตอร์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! Gimme! Gimme! (คนหลังเที่ยงคืน)
นักพัฒนาของคน-DB, โคลินวัตสันตัดสินใจว่ามีความสนุกสนานมากพอและเรื่องที่จะไม่ได้รับลืมและออกไข่อีสเตอร์อย่างสมบูรณ์
ขอบคุณโคลิน!
faketime
ให้คุณสามารถลองได้โดยไม่จำเป็นต้องเปลี่ยนเวลาของระบบ: faketime '00:30:00' man
(Debian 8)
man
ไม่man -w
: git.savannah.nongnu.org/cgit/man-db.git/commit/src/...และความคิดเห็นของโคลินใน Confessio
man -w
พิมพ์เส้นทางการค้นหาหน้าคู่มือปัจจุบันซึ่งเป็นประเภทของสิ่งที่คุณอาจใช้เป็นหน่วยการสร้างสำหรับสิ่งอื่นเช่นถ้าสิ่งที่คุณกำลังทำการติดตั้งหรือทดสอบหน้าด้วยตนเองโดยอัตโนมัติ
หลังจากสะท้อนบางอย่างผมได้ลบออกไข่อีสเตอร์นี้ มันจะหายไปใน man-db 2.8 ที่จะเกิดขึ้น
ฉันดีใจที่มันทำให้บางคนยิ้มซึ่งหลังจากนั้นเป็นจุดประสงค์ทั้งหมดของมันและการแจ้งเตือน Twitter ของฉันและอื่น ๆ ในวันนี้แนะนำว่าคนส่วนใหญ่คิดว่ามันน่าขบขันมากกว่าน่ารำคาญ ถึงกระนั้นบางคนก็พบว่ามันน่ารำคาญและหกปีที่ผ่านมาดูเหมือนจะเป็นเรื่องที่ค่อนข้างดีสำหรับสิ่งนั้น มันอาจจะไม่ได้รับการเปิดเผยที่ดีขึ้นอย่างมีนัยสำคัญกว่าที่คาดไว้โดยทางคำถามนี้ เวลาใส่ก็เข้านอน
man -abba
และเมื่อไล่ออกหลังเที่ยงคืนจะให้ไข่อีสเตอร์