1. bash / Говнокод #3488

    −136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #!/bin/bash
    
    # ...
    PWD=`pwd`
    cd $OTHERDIR
    # ...
    cd $PWD

    скрипт был написан навороченым солярис инженером. я ожидал каких-там BSD или SysV выкрутасов, а как увидел в начале /bin/bash начал уже сомневатся. парой десятков строк ниже нашел данный перл, и дальше вчитатываться не стал - все надо в ж переписывать....

    ЗЫ $PWD это встроеная переменная которая устанавливается коммандой cd. ее можно руками менять, но по каждому cd она будет всегда в полный путь текущего каталога ставится. Другими словами PWD=`pwd` как и cd $PWD есть просто NOPы.

    Dummy00001, 16 Июня 2010

    Комментарии (12)
  2. bash / Говнокод #3453

    −143

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    #! /bin/sh
    
    # качаем страницу и ищем ссылку на закачку
    dllink=`curl -# $1|pcregrep -o 'http.+file.qip.ru/get[^"]+'`
    
    # качаем вторую страницу и ищем линк на файл и очищаем имя файла от мусора
    
    dlhtml=`curl -# "$dllink"`
    dlfilelink=`echo $dlhtml|pcregrep -o "http\:\/\/dc\d{1,10}.file.qip.ru\/download[^']+"`
    dlfilename1=`echo $dlhtml|pcregrep -o "http\:\/\/dc\d{1,10}.file.qip.ru\/download[^?]+"`
    dlfilename=`basename $dlfilename1`
    
    wget "$dlfilelink" -O "$dlfilename"

    Качалка файлов с file.qip.ru

    Radjah, 11 Июня 2010

    Комментарии (0)
  3. bash / Говнокод #3351

    −140

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #! /bin/sh
    
    htmlvar=`curl -# $1`
    serv=`echo $htmlvar| pcregrep -o -e "srv\'\:[^,]+"|pcregrep -o "http[^']+"`
    filevar=`echo $htmlvar| pcregrep -o "'file':[^,]+"|pcregrep -o "\d{1,10}[^']+"`
    urlvar=$serv'flv2/'$filevar
    echo $urlvar

    Тупой скрипт для выдерания ссылок на ролки со страницы xhamster.com

    Radjah, 30 Мая 2010

    Комментарии (6)
  4. bash / Говнокод #3294

    −142

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    #!/bin/bash
    #   
    #   program file name: urlmin.sh
    #   program version: 0.4
    
    _help()
    {
    
    prg=$(basename $0)
    cat << EOF
    
    options:
       -h      See this page
       -l      Viewed all names of minifer sites
       -s      
       	  lb.vg
       	  minify.me
       	  is.gd
       -r      Random mode of minifiers
       -u      url link
    examples:
       random mode     - minifiers: ${prg} -r -u 'http://wikimapia.org/#lat=36.7923994&lon=53.1100881&z=18&l=1&m=b'
       only 1 minifier - is.gd minifier: ${prg} -s is.gd -u 'http://wikimapia.org/#lat=36.7923994&lon=53.1100881&z=18&l=1&m=b'
       or lb.vg minifier: ${prg} -s lb.vg -u 'http://wikimapia.org/#lat=36.7923994&lon=53.1100881&z=18&l=1&m=b'
       and other
    
    EOF
    
    exit 0
    }
    
    [ ! -f "$(which curl)" ] && { echo "Установите утилиту curl" ; exit 1 ;}
    
    _user_agent="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.4) Gecko/20100503 Firefox/3.6.4"
    _sets_minifiers=( "lb.vg" "is.gd" "minify.me" )
    
    _e()         { echo -e "${*}" ;}
    _get_page()  { curl -s -A "$USER_AGENT" ${1} | tr -d '\n' || { clear ; echo -e "${B_T}${RC}Error${CRS}! curl in function _get_page has exited abnormaly: ${1}" ; exit 1 ;} ;}
    _post_page() { curl -s -A "$USER_AGENT" -d "${2}" "${1}" | tr -d "\n" || { clear ; echo -e "${B_T}${RC}Error!${CRS} curl in function _post_page has exited abnormaly: ${1} -> ${2}" ; exit 1 ;} ;}
    _urlencode() { LANG=C awk 'BEGIN { EOL = "%0A" ; split ("1 2 3 4 5 6 7 8 9 A B C D E F", hextab, " ") ; hextab [0] = 0 ; for ( i=1; i<=255; ++i ) ord [ sprintf ("%c", i) "" ] = i + 0 } ; { encoded = "" ; for ( i=1; i<=length ($0); ++i ) { c = substr ($0, i, 1) ; if ( c ~ /[a-zA-Z0-9.-]/ ) { encoded = encoded c } else if ( c == " " ) { encoded = encoded "+" } else { lo = ord [c] % 16 ; hi = int (ord [c] / 16); encoded = encoded "%" hextab [hi] hextab [lo] } } ; printf ("%s", encoded EOL) } END { }' "[email protected]" | sed 's|%0A||g' ;}
    _random()    { [ -n "${1}" ] && { while :; do zz=$(y=0;for ((x=${1};x>=y;y++)) ; do [ "$y" == "${RANDOM[@]:2:1}" ] && [ -n "$y" ] && { echo $y ; break ;} ; done ) ; [ -n "$zz" ] && { echo "$zz" ; break ;} ; done ;} ;}
    
    # sets
    while getopts "hu:s:rl" option ; do case $option in
    		h) _help                ;;
    		u) url_path="$OPTARG"   ;;
    		s) _set_min="$OPTARG"    ; set_min_num=$(j=0 ; for x in ${_sets_minifiers[*]} ; do [ "${x}" == "${_set_min}" ] && _e "${j}" ; ((j++)) ; done) ;;
    		r) mode_random="yes"     ; set_min_num="$(_random $((${#_sets_minifiers[*]}-1)) )" ;;
    		l) list_mins="yes"      ;;
    		v) set_verbose="-v"     ;;
    esac ; done
    
    case $set_min_num in
    0) 
       _url_enc=$(_e "${url_path}" | _urlencode)
       _url_host="${_sets_minifiers[$set_min_num]}"
       _obtained=$(_post_page "http://${_url_host}/default.asp" "Orig_URL=${_url_enc}&show_ve=1&Categ=Humor" | egrep -o "http://${_url_host}/[a-Z0-9]+'" | sort -u | sed "s|'||g;s|http://||g") ;;
    1)
       _url_enc=$(_e "${url_path}" | _urlencode)
       _url_host="${_sets_minifiers[$set_min_num]}"
       _obtained=$(_post_page "http://${_url_host}/create.php" "URL=${_url_enc}" | egrep -o "http://${_url_host}/[a-Z0-9]+\" target" | sed 's|\" target||g;s|http://||g') ;;
    2) 
       _url_enc=$(_e "${url_path}" | _urlencode)
       _url_host="${_sets_minifiers[$set_min_num]}"
       _obtained=$(_post_page "http://${_url_host}/create.php" "url=${_url_enc}" | egrep -o "http://${_url_host}/\?[a-Z0-9]+" | sed 's|http://||g') ;;
    esac
    
    [ -z "$1"           ] && _help
    [ -n "$set_min_num" ] && _e "Link: ${_obtained}"
    [ -n "$list_mins"   ] && _e "Minifiers:\n\n$(for i in ${_sets_minifiers[*]} ; do _e "  ${i}" ; done)\n"
    
    # eof urlmin.sh

    url minifier

    # typical define:
    -=>> ./urlmin.sh -s is.gd -u 'http://wikimapia.org/#lat=36.7923994&lon=53.1100881&z=18&l=1& m=b'
    Link: is.gd/ckjsg

    # random minifier:
    -=>> ./urlmin.sh -r -u 'http://wikimapia.org/#lat=36.7923994&lon=53.1100881&z=18&l=1& m=b'
    Link: minify.me/?qkvbp2

    pp--, 22 Мая 2010

    Комментарии (15)
  5. bash / Говнокод #3262

    −132

    1. 1
    yes | rm -r /

    Так красивее :)

    Tanger, 18 Мая 2010

    Комментарии (31)
  6. bash / Говнокод #3242

    −136

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    #!/bin/bash
    case $1 in 
    	u|use)
    		case $2 in 
    			e) $EDITOR /etc/portage/package.use
    			;;
    			s) grep -n --color "$3" /etc/portage/package.use
    			;;
    			d) 
    			if echo "$3" | grep -q -e "[1-9]"
    			then
    			DELVAR="`echo $3 $4 $5 $6 $7 $8 $9 | sed 's/ /\n/g'`"
    			echo "Do you want delete next line(s):
    `echo "$DELVAR" | sed 's/$/!d/g' | xargs -n 1 | while read line ; do
    	sed "$line" /etc/portage/package.use -i
    done`			 
    Yes/No?"
    			read "answer"
    			case "$answer" in 
    			y|yes) echo "$DELVAR" | sed 's/$/d/g' | xargs -n 1 | while read yesno ; do
    	sed "$yesno" /etc/portage/package.use -i
    done
    ;;
    esac
    		else
    			DELVAR="`grep -n --color "$3" /etc/portage/package.use | cut -d":" -f1`"
    			echo "Do you want delete next line(s):
    `grep -n --color "$3" /etc/portage/package.use`
    Yes/No?"
    			read "answer"
    			case "$answer" in 
    			y|yes) echo "$DELVAR" | sed 's/$/d/g' | xargs -n 1 | while read yesno ; do
    	sed "$yesno" /etc/portage/package.use -i
    done
    			;;
    			esac
    			fi
    			;;
    			*) echo "$2 $3 $4 $5 $6 $7 $8 $9" >> /etc/portage/package.use
    			;;
    		esac
    	;;
    	i) euses $3
    	;;
    	s) eix "$3"
    	;;
    	sync) sudo layman --sync-all ; emerge --sync ; eix-update
    	;;
    	U) exec emerge -vauND world
    	;;
    	i) exec emerge -va "$2 $3 $4 $5 $6 $7 $8 $9"
    	;;
    	mkconf) sudoedit /etc/make.conf
    	;;
    	*|-h|--help) echo "Использование: pkg [ключ] [параметры ключа]
    	u [USE] - операции с USE-флагами в файле /etc/portage/package.use
    		e - открыть файл в редакторе из '\$EDITOR' ("$EDITOR")
    		s - поиск в файле grep'ом
    		d - удаление строк из файла (в качестве параметра принимаются как номера строк, так и название пакета/флага)
    		i - просмотр информации о флагах (с помощью euses) 
    		* - все иные значения будут записаны в файл
    	k [KEYWORDS] - операции с keywords-масками в файле /etc/portage/package.keywords
    		e - открыть файл в редакторе из '\$EDITOR' ("$EDITOR")
    		s - поиск в файле grep'ом
    		d - удаление строк из файла (в качестве параметра принимаются как номера строк, так и название пакета/флага)
    		* - все иные значения будут записаны в файл
    	i - установка пакета (emerge -av)
    	s - поиск по базе пакетов (с помощью eix)
    	sync - синхронизация баз layman, emerge и запуск eix-update
    	U - обновление системы (emerge -vauND world)
    	mkconf - открыть для редактирования файл /etc/make.conf (используя sudoedit)"
    	;;
    esac

    Нашел свой старый код.. Когда-то от нечего делать пытался написать некую обёртку ко всяким джентовским утилитам. До конца так и не дописал, были некоторые проблемы с кодом, которые мне решать было лень. Но сейчас залез в тот код и ужаснулся..
    P.S. Файл немного урезан от оригинала, т.к. те же действия повторяются для разных файлов.

    Iliander, 16 Мая 2010

    Комментарии (3)
  7. bash / Говнокод #3223

    −130

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    #!/bin/bash
    
    curl http://www.radioroks.com.ua/online.php | grep '<b>' > /tmp/roks
    
    sed -e 's/<[^>]*>//g' /tmp/roks > /tmp/roks2
    sed -e 's/&middot;/- /g' /tmp/roks2 > /tmp/roks
    sed -e 's/\t//g' /tmp/roks > /tmp/roks2
    
    sed -e 's/\:-/\:\
    -/g' /tmp/roks2 > /tmp/roks
    
    cat /tmp/roks | head -n $1

    Кажется, писал под утро. Не вдуплился юзать только 1 файл, а жонглировал /tmp/roks и /tmp/roks2 ...

    Anderson, 14 Мая 2010

    Комментарии (10)
  8. bash / Говнокод #3164

    −135

    1. 1
    find $PWD -maxdepth 0 2>/dev/null

    Вместо "ls"...

    13thslayer, 06 Мая 2010

    Комментарии (4)
  9. bash / Говнокод #3024

    −138.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #       sysinfo bar
    while :; do
            echo $(uptime | awk '{ print $3"d, "$5" "$6"u"}') '|' $(free -k | grep "cache:" | awk '{print $3"k / "$4"k"}') '|^fg(#cccc00)' $(date | sed 's,MSD .*,,') "^fg(#bbbbdd)|" $(cat /proc/loadavg | awk '{print $1" "$2" "$3}') '|' $(gcpubar -o -c 1 | sed 's,CPU: ,,')  '            '
            sleep 1
    done | dzen2 -ta r -x $WIDTH -y $Y $COLORS -fn $FONT -e 'button1=exec:mpc toggle;button2=exec:mpc prev;button3=exec:mpc next;button4=exec:mpcvolume +;button5=exec:mpcvolume -' &

    подобных баров с пяток в скрипте, не стал все приводить

    erthad, 16 Апреля 2010

    Комментарии (12)
  10. bash / Говнокод #3011

    −135.4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    echo ""
    echo -e '\033[1m'"      MONITOR FOR SYSTEM SWITCH  $current"'\033[0m'
    echo "      *************************************************"
    #1
    {
    read line1
    } < $DIR_FLAG/$file1
    {
    read lines1
    } < $DIR_FLAG/$files1
    if [ "$line1" = "STOP" ]; then echo -e '\E[31m'"      TASK  1: --> $lines1" ; tput sgr0
    else echo -e '\E[32m'"      TASK  1: >< $lines1" ; tput sgr0
    fi
    #2
    {
    read line2
    } < $DIR_FLAG/$file2
    {
    read lines2
    } < $DIR_FLAG/$files2
    if [ "$line2" = "STOP" ]; then echo -e '\E[31m'"      TASK  2: --> $lines2" ; tput sgr0
    else echo -e '\E[32m'"      TASK  2: >< $lines2" ; tput sgr0
    fi
    #3
    {
    read line3
    } < $DIR_FLAG/$file3
    {
    read lines3
    } < $DIR_FLAG/$files3
    if [ "$line3" = "STOP" ]; then echo -e '\E[31m'"      TASK  3: --> $lines3" ; tput sgr0
    else echo -e '\E[32m'"      TASK  3: >< $lines3" ; tput sgr0
    fi
    #4
    {
    read line4
    } < $DIR_FLAG/$file4
    {
    read lines4
    } < $DIR_FLAG/$files4
    if [ "$line4" = "STOP" ]; then echo -e '\E[31m'"      TASK  4: --> $lines4" ; tput sgr0
    else echo -e '\E[32m'"      TASK  4: >< $lines4" ; tput sgr0
    fi
    #5
    {
    read line5
    } < $DIR_FLAG/$file5
    {
    read lines5
    } < $DIR_FLAG/$files5
    if [ "$line5" = "STOP" ]; then echo -e '\E[31m'"      TASK  5: --> $lines5" ; tput sgr0
    else echo -e '\E[32m'"      TASK  5: >< $lines5" ; tput sgr0
    fi
    #6
    {
    read line6
    } < $DIR_FLAG/$file6
    {
    read lines6
    } < $DIR_FLAG/$files6
    if [ "$line6" = "STOP" ]; then echo -e '\E[31m'"      TASK  6: --> $lines6" ; tput sgr0
    else echo -e '\E[32m'"      TASK  6: >< $lines6" ; tput sgr0
    fi
    #7
    {
    read line7
    } < $DIR_FLAG/$file7
    {
    read lines7
    } < $DIR_FLAG/$files7
    if [ "$line7" = "STOP" ]; then echo -e '\E[31m'"      TASK  7: --> $lines7" ; tput sgr0
    else echo -e '\E[32m'"      TASK  7: >< $lines7" ; tput sgr0
    fi
    #8
    {
    read line8
    } < $DIR_FLAG/$file8
    {
    read lines8
    } < $DIR_FLAG/$files8
    if [ "$line8" = "STOP" ]; then echo -e '\E[31m'"      TASK  8: --> $lines8" ; tput sgr0
    else echo -e '\E[32m'"      TASK  8: >< $lines8" ; tput sgr0
    fi
    #9
    {
    read line9
    } < $DIR_FLAG/$file9
    {
    read lines9
    } < $DIR_FLAG/$files9
    if [ "$line9" = "STOP" ]; then echo -e '\E[31m'"      TASK  9: --> $lines9" ; tput sgr0
    else echo -e '\E[32m'"      TASK  9: >< $lines9" ; tput sgr0
    fi
    
    и т.д.

    вот такой кодец остался нам в наследство....

    NTMan, 15 Апреля 2010

    Комментарии (12)