เปลือกสามารถ“ รุกมากขึ้น” ได้หรือไม่?


10

My Gentoo Linux รวบรวมด้วยการตั้งค่าสถานะ USE ที่ไม่เหมาะสม :

# sudo su -
Password: 
Hold it up to the light --- not a brain in sight!
Password: 

นอกจากนี้ยังเป็นไปได้ที่จะเลือกโชคชะตาตามระดับความไม่พอใจ:

# fortune -o kernelcookies | cowsay -b
 _________________________________________ 
/ /* This is total bullshit: */           \
|                                         |
\ linux-2.6.6/drivers/video/sis/init301.c /
 ----------------------------------------- 
        \   ^__^
         \  (==)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

เมื่อพิจารณารายการของวัตถุปรุงแต่ง1 ที่ระบุไว้ในลิงค์สั้น ๆ และโดยส่วนตัวแล้วฉันไม่ได้ใช้ชุดจำลองพลวัตโมเลกุล - มีเครื่องเทศประเภทใดในเชลล์ใน Linux โดยทั่วไป (หรือ UNIX) อีกหรือไม่


1- มันเป็นเรื่องดีที่จะทราบว่าcowsayสามารถส่งออกโต้แย้งใด ๆ cowsay -s $(script_in_path_or_command)ไม่ได้เป็นเพียงความมั่งคั่งเช่นการส่งออกของคำสั่งหรือสคริปต์: หมายเหตุ -s เป็นเพียงการปรากฏตัวของวัวที่นี่ดู manpages


apt-get moo และ aptitude moo, aptitude moo -v, aptitude moo -vv และอื่น ๆ แต่มันมีไว้สำหรับเดเบียน
Renan Vicente

1
sudo su -ควรจะมีการดูถูกพิเศษทุกครั้งที่คุณเรียก sudo -iอาจเป็นไปได้มันก็ควรเปลี่ยนรหัสผ่านราก
Derobert

1
BTW ฉันคิดว่าวิธีการทำเช่นนี้ในทุบตีใช้การแสดงความสามารถเดียวกันฉันใช้สีพร้อมรับคำตามรหัสออกและยังไม่พบคำสั่งของอูบุนตู ... จะเขียนและโพสต์เมื่อฉันกลับบ้าน
Derobert

1
ไม่น่ารังเกียจเกินไป แต่อยู่ในอารมณ์แบบนั้น: sl- รถจักรไอน้ำวิ่งผ่านหน้าจอหากคุณพิมพ์ "sl" แทนที่จะเป็น "ls"
Ouki

1
ฉันเข้านอนเมื่อกลับถึงบ้านดังนั้นอย่าไปเขียนเรื่องนี้จนกระทั่งวันนี้ ... แต่โพสต์เป็นคำตอบ
Derobert

คำตอบ:


9

ตกลงโดยใช้PS1และcommand_not_found_handleเป็นไปได้ที่จะทุบตีดูถูกคุณ:

anthony@Watt:~$ . /tmp/insult.sh 
anthony@Watt:~$ sl
bash: sl: command not found, incompetent spoony bard
anthony@Watt:~$ ls /wrong/path
ls: cannot access /wrong/path: No such file or directory
Learn to type, second-rate Horrified Heron.
anthony@Watt:~$ 

และนี่คือ/tmp/insult.shที่ฉันมาข้างต้น

### Data ###
bash_insulter_sentences=(
    'Have you considered Windows, %s?\n'
    'Learn to type, %s.\n'
    'Fell asleep at the keyboard again, %s?\n'
    "Failure is common when you're a %s, isn't it?\n"
)

bash_insulter_subjects=(
    'spoony bard'           # we all played this, right?
    'extra-Warty Warthog'
    'Dazed Drake'
    'Fidgety Fawn'
    'Horrified Heron'       # etc.
)

bash_insulter_adjectives=(
    'incompetent ' # these have built-in spacing
    'inept '
    'second-rate '
    '' # chance of none
    ''
)

### Functions to generate insults ###
bash_insulter_random_element() {
    if [ ${BASH_VERSINFO[0]} -lt 4 ] || \
        [ ${BASH_VERSINFO[0]} -eq 4 -a ${BASH_VERSINFO[1]} -lt 3 ]; then
        # bash before 4.3 doesn't have -n
        eval "local var=(\"\${$1[@]}\")"
    else
        local -n var="$1"
    fi
    local len=${#var[@]}
    echo -n "${var[$RANDOM % len]}" # Slightly biased. Don't care.
}

bash_insulter_full_subject() {
    bash_insulter_random_element bash_insulter_adjectives
    bash_insulter_random_element bash_insulter_subjects
}

bash_insulter_do_insult() {
    printf "$(bash_insulter_random_element bash_insulter_sentences)" "$(bash_insulter_full_subject)"
}

### set up ###
command_not_found_handle() {
    echo "bash: $1: command not found, $(bash_insulter_full_subject)"
    return 127
}

PS1='`
    if [ 0 -ne $? -a 127 -ne $? ]; then
        bash_insulter_do_insult
    fi
    echo "\u@\h:\w\$ "; 
`'

@ illuminÉบางทีคุณอาจมี bash เวอร์ชันเก่ากว่าไม่แน่ใจว่าเมื่อใดที่มีการเพิ่มฟีเจอร์นั้น ประกาศ -n ทำงานหรือไม่
Derobert

ฉันมี 4.2.45 (1) - ปล่อย มันเกิดขึ้นฉันมี pkg มากมายที่ต้องอัพเดท ดังนั้นฉันจะลองภายใต้ซุ้มประตูในภายหลัง! ขอบคุณดูเหมือนสนุกฉันชอบความคิดในการผสมมัน! ไชโย!

@ illuminÉ 4.3.0 ที่นี่, เป็นไปได้อย่างไรที่เดเบียนมีทุบตีใหม่กว่าเจนทู? อย่างไรก็ตามการตรวจสอบไฟล์ NEWS มันเป็นคุณสมบัติใหม่ใน 4.3 ฉันจะดูเกี่ยวกับการเพิ่มในเวอร์ชันที่ไม่ต้องการคุณสมบัติใหม่
Derobert

@ illuminÉแก้ไขแล้วหวังว่าตอนนี้จะใช้ได้กับ bash 4.2
Derobert

ขอบคุณนั่นเป็นระเบิดจริง ๆ ใช้งานได้ดี! แต่ Debian แน่นอน ฉันตรวจสอบแล้วและ 4.3 ยังไม่ได้ทำ โอ้ btw ฉันเป็นเรื่องเล่าของกวีมากขึ้น

2

slมีคนพูดถึง ในซอฟต์แวร์เช่นล่ามซึ่งมีจุดมุ่งหมายในการคาดการณ์สูงสุดความประหลาดใจมีคุณสมบัติเป็นสิ่งที่ "ก้าวร้าว" ในบริบท คู่มือยังแสดงรายการตัวเลือกที่เหมาะสม:

DESCRIPTION
   sl  is a highly advanced animation program for curing your bad habit of
   mistyping.

   -a     An accident is occurring. People cry for help.

   -l     Little version

   -F     It flies like the galaxy express 999.

   -c     C51 appears instead of D51.

... และข้อบกพร่องที่น่าสนใจ:

BUGS
   It sometimes list directory contents.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.