
МойГентуLinux скомпилирован с помощьюоскорбительныйИСПОЛЬЗОВАТЬфлагвключено:
# 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 здесь используется только для отображения коровы, см. man-страницы.
решение1
Хорошо, используя PS1
и command_not_found_handle
, можно заставить bash оскорбить вас:
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\$ ";
`'
решение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.