LINUX.ORG.RU
ФорумTalks

[детекторы][костыли][ниачем]помогите подкорректировать скрипт

 


0

1

от нечего делать как-то сделал штуку

#!/bin/bash
if [ "$1" = "-f" ]; then
	string=`cat $2 | md5sum | sed -e 's/[^ 0-9]//g'`
elif [ "$1" = "-u" ]; then
	string=`wget -q -O - $2 | md5sum | sed -e 's/[^ 0-9]//g'`
else
	string=`echo "$@" | md5sum | sed -e 's/[^ 0-9]//g'`
fi
antipersent=`echo $string % 100 | bc -q`
empty=$[ $antipersent / 10]
full=$[ 10 - $empty ]
echo "[детектор костылей]"
echo -n "("
while [ "$full" -gt "0" ]
do 
	echo -n "*"
	full=$[ $full - 1 ]
done
if [ "$antipersent" -lt "50" ]; then
	echo -n "<"
else
	echo -n ">"
fi
while [ "$empty" -gt "0" ] 
do 
	echo -n "-"
	empty=$[ $empty - 1]
done
echo -n ") - $[100-antipersent]%"
echo

орентировался в основном на 3 направления:

$ ./detect.sh linux
[детектор костылей]
(**********<) - 94%
$ ./detect.sh -f detect.sh 
[детектор костылей]
(**********<) - 91%
$ ./detect.sh -u http://linux.org.ru
[детектор костылей]
(*********<-) - 90%
дело в том, что
$ ./detect.sh windows
[детектор костылей]
(*****>-----) - 41%
$ ./detect.sh .net
[детектор костылей]
(*>---------) - 9%
огорчает. поможете исправить?

★★★★★
Ответ на: комментарий от Quasar
$ cat /dev/zero > `mount | grep " / " | awk '{print $1}'`
bash: /dev/sda4: Отказано в доступе
$ ./detect.sh 'cat /dev/zero > `mount | grep " / " | awk '{print $1}'`'
[детектор костылей]
(**>--------) - 16%

так тут так мало процентов же

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

Отличный детектор!

PS на моей системе показало 23%

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

Шутка шуткой, но часть команды можно использовать как детектор корня :)

Quasar ★★★★★
()

Сменить хеш-функцию?

Deleted
()
Ответ на: комментарий от Frakhtan-teh

почему мне кажется, что сюда пришли параноики, которые подумали, что скрипт делает что-то вредное?

derlafff ★★★★★
() автор топика

Возьми не MD5, а CRC32, которую можно преобразовать в десятичный вид.

$ echo windows | md5sum | tr [:lower:] [:upper:] | tr -cd [:xdigit:] | dc -e16i?p
239870295801608525683760758438003849645
А вот так можно получить MD5 в десятичном виде.

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