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

    −133

    1. 1
    yum remove python

    Еще один способ "отпилить ветку под собой"
    http://www.linux.org.ru/forum/admin/8946020

    Elvenfighter, 12 Марта 2013

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

    −116

    1. 1
    pattern=hidden; find . | grep -e ".*\.java$" | xargs sh -ac 'for arg in [email protected]; do cat -n $arg | grep -e "$pattern" > /dev/null && echo $arg && cat -n $arg | grep -e "$pattern"; done'

    Нужно было поискать юзаджи по коду.
    Вот такое вот наворотил.
    Каюсь...

    myzone, 06 Марта 2013

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

    −113

    1. 1
    http://lab.madscience.nl/oo.sh.txt

    ООП-фаги, набигайте!

    byss, 17 Января 2013

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

    −127

    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
    #!/bin/bash
    set -e
    
    KEHU_FILE=kehu_ruikemei
    
    echo "*************"
    echo "rm logo_linux_clut224"
    echo "*************"
    find drivers/video/logo/ -name logo_linux_clut224.o -exec rm -f {} \;
    find drivers/video/logo/ -name logo_linux_clut224.c -exec rm -f {} \;
    find drivers/video/logo/ -name logo_linux_clut224.ppm -exec rm -f {} \;
    
    echo "***********************"
    echo "copy logo_linux_clut224.ppm"
    echo "***********************"
    cp $KEHU_FILE/logo_linux_clut224.ppm drivers/video/logo/
    
    echo "***********************"
    echo "make kernel.img"
    echo "***********************"
    make kernel.img -j4
    
    echo "***********************"
    echo "return origin files"
    echo "***********************"
    find drivers/video/logo/ -name logo_linux_clut224.o -exec rm -f {} \;
    find drivers/video/logo/ -name logo_linux_clut224.c -exec rm -f {} \;
    git checkout -- drivers/video/logo/logo_linux_clut224.ppm
    
    echo "return origin files success!!!"

    Скрипт в корне исходников ядра linux для Rockchip RK3066.

    Necromant, 30 Ноября 2012

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

    −108

    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
    # For bash and ksh, we can use faster builtin routines to do manipulation,
    # otherwise (ash) fall back to slower method using `expr'.
    # The extra level of indirection using `eval' is necessary a) for ksh, and
    # b) to get past ash.
    
    if [ "$RANDOM" != "$RANDOM" ]
    then
        math () {
            eval echo "\$(($*))"
        }
        index () {  # index string c
            eval "I=\${1%$2*}"
            eval echo "\${#I}"
        }
        ...
    else
        math () {
            expr "[email protected]"
        }
        index () {  # index string c
            expr $1 : ".*$2" - 1
        }
        ...
    fi

    Отличный способ определения шелла из старослакварского /dev/MAKEDEV.

    bormand, 26 Ноября 2012

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

    −117

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    MAXJOBS=20
    for i in `seq 1 $MAXJOBS` ; do nice -n 19 gzip -c /dev/zero > /dev/null & done
    
    while true
    do
     LA=`</proc/loadavg` && LA=${LA// */}
     H=$(date +%M) && H=${H/0/}
     G=`echo "(${MAXJOBS}/2)*(s(2*3.14159*${H}/60) +1 ) <= ${LA}" | bc -l`
     test ${G} -lt 1 && for i in `seq 1 $MAXJOBS` ; do  kill -SIGCONT %$i  ; done  || for i in `seq 1 $MAXJOBS` ; do  kill -SIGSTOP %$i; done
     sleep 1
    done

    Генерирует load average, и поддерживает её в форме синусоиды, с периодом в час.

    на графике выглядит как-то так:
    http://i.piccy.info/i7/108cbdd61801da0ed805ecf41ecbc9e3/4-47-114/35579895/localhost_load.png

    bliznezz, 12 Октября 2012

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

    −105

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if [ `which which` ]; then
      ...
    else
      ...
    fi

    gongled, 14 Сентября 2012

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

    −109

    1. 1
    cd /root/jbot; java -jar jimbot.jar 2> /dev/null 1> /dev/null &

    Я тихонечко это тут положу...
    А вот по скромному мнению автора, что делают эти строки:

    Вот выбрал систему Ubuntu (прим: видимо речь идет о VPS/VDS дай бог что не в виртуалбоксе под виндой). Администратирование веду через программу PuTTy.
    В даный момен я тестирую ICQ чат. Для этого надо включить java. В моем случае это так:
    cd /root/jbot; java -jar jimbot.jar 2> /dev/null 1> /dev/null &
    “Убить” процес:
    sudo killall -9 java
    cd – значит что выбрать из дериктории /root/jbot; и с дериктории java -jar jimbot.jar значок запустить 2>/dev/null так же второй скрипт 1> /dev/null и значок завершение &

    Исходник тута: http://zvlad.com/3-zapusk-icq-chata-v-ubuntu.html

    deep, 12 Сентября 2012

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

    −125

    1. 1
    2. 2
    #!/bin/bash
    sed -e 's/^\s*$/\#/gi' < $1| sed -e 's/$/<br>/gi'| awk 'BEGIN { i1=0;print "<html><head><META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=Windows-1251\"></head><body>"; } {  gsub(/^#/,"<a name=\"L"i1++"\">L"i1-1"</a>");print } END { for(i=0;i<=i1;i++){ print "<a href=\"#L"i"\">#"i"</a><br\ >"};print "</body></html>" }' > $1.html

    Программа преобразует текстовый файл в html

    AliceGoth, 05 Августа 2012

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

    −96

    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
    while true
    do
      if [ $variable -le $null ]; then                                     #### if then 1
        vmm=`expr $vmm + 1`
        if [ $vmm -eq `expr 13` ]; then
         vmm=`expr 1`
        fi
        imm=`expr $imm - 1`
        if [ $imm -eq $null ]; then
         imm=`expr 12` vyy=`expr $vyy + 1`
        fi
        idd=`expr ${month[$imm]} + $variable`
        if [ $idd -gt $null ]; then
         if [ $imm -lt 10 ]; then
          imm=0$imm
         fi
         if [ $idd -lt 10 ]; then
          idd=0$idd
         fi
         calc_date=`expr $current_year - $vyy`$imm$idd
         break;
        else                                                               #### else 1
         variable=`expr ${month[$imm]} + $variable`
        fi
      else
         if [ $imm -lt 10 ]; then
          vmm=0$imm
         else
          vmm=$imm
         fi
       if [ $variable -lt 10 ]; then
        variable=0$variable
       fi
       calc_date=`expr $current_year - $vyy`$vmm$variable
       break;
      fi
    done
    echo $calc_date
    
    #Альтернативный (нормальный) вариант
    calc_date=`perl -e 'use POSIX;print strftime "%Y%m%d",localtime time-'$period*86400';'`

    Дата и время в нужном формате

    paa, 30 Мая 2012

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