LINUX.ORG.RU
ФорумTalks

[ОПАСНО][НЕ ЗАПУСКАТЬ]Немного Shell-магии


0

3

Что-то скучно стало... Господа-товарищи, давайте вспомним немного шелл-магии, приводящей к забавным результатам?
---
Не для новичков! Однострочник не постить, я уже поплатился за это скором. Новички! В этой теме высоко вероятно появление опасного кода!
Господа модераторы! Здесь http://www.linux.org.ru/forum/linux-org-ru/5713479 и в жаббере мне сказали что сама тема не запрещённая. Плз не бить банхаммером без разбора.
---
По итогам предыдущей темы набралось, форк-бомбы:
-
#!/bin/sh
eval $0
-
:(){ :|: & };:
-
Транслитерация имён файлов (imho, довольно забавно):
http://daemony.org/freebsd/massovaya-transliteraciya-imen-fajjlov.html
-
Вероятное зависание системы:
dangerous_variable=`cat /boot/vmlinuz`
echo «$dangerous_variable»
А также ссылка на http://www.perlmonks.org/ где много забавных скриптов на перле.
-
Кто больше, лучше, веселее?

★★★★★

Теперь банано^W с защитой от дурака.

melkor217 ★★★★★
()

> Вероятное зависание системы:

dangerous_variable=`cat /boot/vmlinuz`

echo «$dangerous_variable»



Не зависает.

drull ★☆☆☆
()
Ответ на: комментарий от amorpher

./* | * --search

drull@drull:/usr/bin$ ./* | * --search
bash: [: missing `]'
./[: missing `]'
drull@drull:/usr/bin$
drull ★☆☆☆
()
Ответ на: комментарий от drull

В бинарном файле может встретится последовательность символов, являющихся командой bash. Тогда будут неприятности.

fractaler ★★★★★
() автор топика
Ответ на: комментарий от fractaler

Уже и не помню, давным-давно скрипт какой-то мутил и вроде типа после такой каки все ресурсы захавало секунд за 30, нажал ресет :(. Больше не запускал, оставил на память. Да, не работает чего-то :)

amorpher ★★★★★
()

dd if=/dev/zero of=/dev/null &
И так несколько раз подряд.

Lumi ★★★★★
()

pacman -Suy

вызывает кернел-паник или падение иксов

Heretique
()

: > | *

[без пробелов] В zsh потрет все файлы в текущей директории (нужна multios, емнип включена по умолчанию).

ps... Ничего особо примечательного, но выглядит забавно.

n01r ★★
()
Ответ на: комментарий от amorpher

Наверное, если запустить такое:
/usr/bin/* &
будет жёстко.

fractaler ★★★★★
() автор топика
l(){ sleep .1; setleds $1; };while true; do l "+num -caps -scroll";  l "-num +caps -scroll";  l "-num -caps +scroll";done;

если убрать sleep то комп повисает (в 2006 повисал 8) )

wfrr ★★☆
()
Ответ на: комментарий от n01r

>[без пробелов] В zsh потрет все файлы в текущей директории (нужна multios, емнип включена по умолчанию).
$ cd ~/tmp && touch asdf
$ :>|*
$ ls
asdf
Не работает ((( Буду копать, что такое multios.

fractaler ★★★★★
() автор топика
Ответ на: комментарий от wfrr

Да, забыл сказать, эта хрень перемигивает светодиодами клавы

хотя это очевидно итак

wfrr ★★☆
()
Ответ на: комментарий от n01r

>Точнее, не потрет, а обнулит... Проверь размер.
Класс!!! Самый прикол в том, что я совсем не понимаю что это за команда. Можешь объяснить?

fractaler ★★★★★
() автор топика
Ответ на: комментарий от Shaman007

Хорошо погуглив выяснил - не страшно и рут тут не нужен :)

fractaler ★★★★★
() автор топика
Ответ на: комментарий от fractaler

> Класс!!! Самый прикол в том, что я совсем не понимаю что это за команда. Можешь объяснить?

Проще некуда: ":" - пустая комманда, «>|» (или >!) - принудительный редирект (zsh по умолчанию не перезаписывает) «*» куда редиректим (при наличии вышерпиведенной опции возможно несколько назначений, аналогично `tee`).

n01r ★★
()
Ответ на: комментарий от n01r

>Проще некуда
Ага, пасиб, проблема в том, что через гугл сложно найти регулярные выражения - он их раскрывает :)
Кстати, в bash работает просто ":>*"

fractaler ★★★★★
() автор топика
Ответ на: комментарий от different_thing

Здесь уже больше сказали! :)

fractaler ★★★★★
() автор топика
Ответ на: комментарий от fractaler

> Кстати, в bash работает просто ":>*"

Проверил, в zsh «|» тоже необязательно, по умолчанию таки перезаписывает, просто привык (да и часто используют). А чистый bash жалуется на `ambiguous redirect'.

n01r ★★
()
Ответ на: комментарий от n01r

>Проверил, в zsh «|» тоже необязательно, по умолчанию таки перезаписывает
zsh ругается «Файл существует ..»

fractaler ★★★★★
() автор топика
Ответ на: комментарий от n01r

>А чистый bash жалуется на `ambiguous redirect'.

Это из-за того, что много файлов через * передаётся. Если в каталоге он был бы один, то беззвучно затёрся бы.

Проблему можно решить так: :|tee * что не очень красиво, но работает.

fooo
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.