क्या शेल अधिक "आक्रामक" हो सकता है?


10

मेरे Gentoo लिनक्स को आक्रामक 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 स्वाद वाली वस्तुओं की सूची पर विचार करना संक्षिप्त है - और मैं व्यक्तिगत रूप से आणविक गतिशीलता सिमुलेशन पैकेज का उपयोग नहीं करता हूं - क्या लिनक्स में शैल (एस) या आमतौर पर (यूनिक्स) में उस तरह का मसाला है ?


1 - यह याद रखना अच्छा है कि cowsayकिसी भी तर्क का उत्पादन कर सकते हैं, न कि केवल किस्मत से, उदाहरण के लिए एक कमांड या स्क्रिप्ट का आउटपुट cowsay -s $(script_in_path_or_command):। नोट -s यहां सिर्फ गाय के दिखने के लिए है, मैनपेज देखें


apt-get moo और एप्टीट्यूड moo, aptitude moo -v, aptitude moo -vv इत्यादि। लेकिन यह डेबियन आधारित है।
रेन विसेंट

1
आपके द्वारा चलाए जाने वाले हर समय के लिए एक विशेष अपमान होना चाहिए sudo su -। संभवतः इसे बस रूट पासवर्ड को बदलना चाहिए sudo -i
derobert

1
BTW, मैंने इसे बैश में करने का एक तरीका सोचा, उसी स्टंट का उपयोग करके मैं एक्जिट कोड के आधार पर प्रॉम्प्ट को रंगने के लिए उपयोग करता हूं और साथ ही उबंटू की कमांड को सामान नहीं मिला ... घर पहुंचने के बाद मैं इसे लिखूंगा और पोस्ट करूंगा।
derobert

1
बहुत आक्रामक नहीं है, लेकिन उस तरह के मूड में: sl- अगर आप "ls" के बजाय "sl" टाइप करते हैं तो एक भाप इंजन स्क्रीन पर चलता है
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कि मैं ऊपर में sourced।

### 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\$ "; 
`'

@ illuminash शायद आपके पास बैश का पुराना संस्करण है, निश्चित नहीं है कि उस सुविधा को कब जोड़ा गया था। क्या कोई घोषणा करता है?
derobert

मेरे पास 4.2.45 (1) -release है। ऐसा होता है कि मेरे पास अपडेट करने के लिए टन टन किलो है। तो मैं बाद में आर्क के तहत यह कोशिश करूँगा! वहाँ धन्यवाद, मज़ा लगता है, मुझे इसे मिश्रण करने का विचार पसंद है! चीयर्स!

@ Illumin that 4.3.0 यहाँ, यह कैसे संभव है कि डेबियन को जेंटू की तुलना में एक नया प्रतिबंध है? वैसे भी, NEWS फाइल की जाँच, यह 4.3 में एक नई सुविधा है। मैं एक ऐसे संस्करण में जोड़ने के बारे में देखूंगा जिसे नई सुविधा की आवश्यकता नहीं है।
derobert

@ illumin b संपादित, उम्मीद है कि अब bash 4.2 के साथ काम करेगा।
derobert

धन्यवाद, यह वास्तव में एक विस्फोट है। बहुत अच्छा काम करता है! लेकिन वास्तव में डेबियन। मैंने जाँच की और वास्तव में 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.
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.