Vỏ có thể tấn công nhiều hơn nữa không?


10

My Gentoo Linux được biên dịch với cờ USE tấn công được kích hoạt:

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

Cũng có thể chọn vận may dựa trên mức độ xúc phạm:

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

Xem xét danh sách các mặt hàng có hương vị 1 được cung cấp trong liên kết là ngắn - và cá nhân tôi không sử dụng gói mô phỏng động lực phân tử - có còn loại gia vị nào trong vỏ nói chung trong Linux (hay UNIX) không?


1- Thật tốt khi nhớ rằng cowsaycó thể xuất ra bất kỳ đối số nào, không chỉ là vận may, ví dụ như đầu ra của lệnh hoặc tập lệnh : cowsay -s $(script_in_path_or_command). Lưu ý -s chỉ dành cho sự xuất hiện của con bò ở đây, xem các trang.


apt-get moo và aptitude moo, aptitude moo -v, aptitude moo -vv, v.v. nhưng nó dựa trên Debian.
Renan Vicente

1
Cần có một sự xúc phạm đặc biệt cho mỗi lần bạn chạy sudo su -. Có thể nó chỉ nên thay đổi mật khẩu root thành sudo -i.
derobert

1
BTW, tôi đã nghĩ ra một cách để làm điều này trong bash, sử dụng cùng một pha nguy hiểm mà tôi sử dụng để tô màu lời nhắc dựa trên mã thoát và lệnh của Ubuntu không tìm thấy ... Sẽ viết lên và đăng nó khi tôi về nhà.
derobert

1
Không quá khó chịu, nhưng trong tâm trạng đó: sl- Một đầu máy hơi nước chạy ngang qua màn hình nếu bạn gõ "sl" thay vì "ls"
Ouki

1
Chà, tôi đã đi ngủ khi về nhà nên không có ý định viết bài này cho đến hôm nay ... nhưng đăng lên như một câu trả lời.
derobert

Câu trả lời:


9

Ok, bằng cách sử dụng PS1command_not_found_handle, có thể có bash xúc phạm bạn:

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:~$ 

Và đây là /tmp/insult.shtôi có nguồn gốc ở trên.

### 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É có thể bạn có phiên bản bash cũ hơn, không chắc chắn khi tính năng đó được thêm vào. Có khai báo -n làm việc không?
derobert

Tôi có 4.2,45 (1). Nó xảy ra như vậy tôi có hàng tấn pkg để cập nhật. Vì vậy, tôi sẽ thử điều này dưới Arch sau! Cảm ơn, có vẻ vui, tôi thích ý tưởng trộn nó lên! Chúc mừng!

@ illuminÉ 4.3.0 ở đây, làm sao mà Debian có bản bash mới hơn Gentoo? Dù sao, kiểm tra tệp TIN TỨC, đó là một tính năng mới trong 4.3. Tôi sẽ thấy về việc thêm vào một phiên bản không cần tính năng mới.
derobert

@ illuminÉ đã chỉnh sửa, hy vọng sẽ hoạt động với bash 4.2.
derobert

Cảm ơn bạn, đó là một vụ nổ thực sự loll. Hoạt động tuyệt vời! Nhưng quả thực là Debian. Tôi đã kiểm tra và thực sự 4.3 chưa làm được. Ồ, btw, tôi thích truyện lol hơn.

2

Có người đề cập sl. Trong phần mềm như một trình thông dịch nhằm mục đích dự đoán tối đa, sự ngạc nhiên chắc chắn đủ điều kiện là một cái gì đó "gây khó chịu" trong bối cảnh. Hướng dẫn cũng liệt kê các tùy chọn phù hợp:

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.

... và một lỗi thú vị :

BUGS
   It sometimes list directory contents.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.