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

    0

    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
    #!/bin/sh
    
    rm -rf /home/project/*
    
    FOLDER=/home/project
    cp ./*.php $FOLDER
    cp -r css img js $FOLDER
    
    FILES=$(find css js templates -type f -regex '.*.\(js\|css\|twig\)')
    for f in $FILES; do
        echo "$f"|grep twig 1>/dev/null
        r=$?
        if [ "$r" -eq 0 ]; then
            minify --type html "$f" --output $FOLDER       
        else
            minify "$f" --output $FOLDER       
        fi
    done

    лучший код, пользуйтесь
    проверено ShellCheck!

    codershitter, 01 Декабря 2019

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

    0

    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
    FILES=`find css js templates -type f -regex '.*.\(js\|css\|twig\)'`
    for f in $FILES; do
        str=`echo -n $f|rev`
        i=`expr index $str /`
        ret=`echo -n ${str:$i}|rev`
        echo $f|grep twig &>/dev/null
        r=$?
    echo $f :
        if [ "$r" -eq 0 ]; then
            minify --type html $f --output $FOLDER/$ret
        else
            minify $f --output $FOLDER/$ret
        fi
    done

    сука блядь глючит! костыли ебаные

    codershitter, 01 Декабря 2019

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    # Если вы желаете ограничить диапазон "снизу",
    # то просто производите генерацию псевдослучайных чисел в цикле до тех пор,
    # пока не получите число большее нижней границы.
    
    FLOOR=200
    
    number=0   # инициализация
    while [ "$number" -le $FLOOR ]
    do
      number=$RANDOM
    done
    echo "Случайное число, большее $FLOOR ---  $number"

    https://www.opennet.ru/docs/RUS/bash_scripting_guide/x4812.html

    groser, 26 Ноября 2019

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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #!/bin/sh
    IFS=:
    echo "Login\tUID"
    while read LOGIN _ UID _;
    do
      echo "$LOGIN\t$UID"
    done < /etc/passwd

    давайте обсуждать шелл-программирование

    MAKAKA, 07 Ноября 2019

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    set -e
    
    myfunc() {
      echo "START"
      v=$(asdasdsd 1 2 3)
      echo "FINISH"
    }
    
    myfunc && echo "OK"

    Выводит:

    START
    ./b.sh: line 5: asdasdsd: command not found
    FINISH
    OK

    asdasdsd - несуществующая команда, вызывающая падение скрипта

    Помогите сделать так, чтобы ошибку можно было поймать, и чтобы до echo "FINISH" не доходило.
    Уже всё перепробовал. Нерабочие вореанты просьба не предлагать.



    Вот так работает правильно
    set -e

    myfunc() {
    echo "START"
    v=$(asdasdsd 1 2 3)
    echo "FINISH"
    }

    myfunc


    Выводит:
    START
    ./a.sh: line 5: asdasdsd: command not found

    Но мне нужно ошибку перехватить.

    guestinxo, 22 Октября 2019

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

    −1

    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
    Как наебнуть дистрибутив, читайте бесплатно без регистрации и СМС. 
    Способ от Oleg'а: Каряво обновить.
    
    1) Идем на https://en.opensuse.org/SDB:System_upgrade, делаем все по инструкции.
    2) Качаем 1.6 ГБ пакетов и ждем установки
    3) На системном разделе в 50 гигов заканчивается место почти за 10% до конца установки
    4) ctrl+C
    
    А почему я решил обновить его именно сейчас?
    Да потому что mariadb 10.2 поддерживающая JSON поля тянет зависимости вплоть до glibc.
    А я уже один раз установил более свежую glibc в debian, лучше этого больше никогда не повторять.
    В общем, если надо обновлять пакет - то обновляй с дистрибутивом вместе, все равно именно так и поставляют, такая вот логика.
    
    https://software.opensuse.org/package/mariadb
    
    Ну может еще пошаманю посижу, удалю весь мусор идущий в "start menu" и запущу апгрейд по новой, но точно не сейчас.
    Потому что надо дописывать код.
    
    Вот же я лох.

    OlegUP, 29 Августа 2019

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

    −1

    1. 1
    2. 2
    if [[ $(git log -n 1 --format=%D HEAD) == *"merge"* ]]; then
        sed -i "s/GIT_COMMIT\(.*\)/GIT_COMMIT=$(git rev-list HEAD | sed -n 2p)/" env.list

    goose123, 20 Июня 2019

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

    0

    1. 1
    jopa | parasha

    Допустим jopa бесконечно срёт в STDOUT.
    parasha это всё читает из STDIN.
    Что будет делать ОС, если параша не будет успевать читать высеры?
    Держать в памяти? Сохранять на диск?

    Perevedi_na_PHP, 12 Февраля 2019

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

    0

    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
    [ERROR] The compilation of ocaml-base-compiler failed at "/home/me/.opam/opam-init/hooks/sandbox.sh build ./configure -prefix /home/me/.opam/ocaml-base-compiler.4.02.3 -with-debug-runtime".
    
    #=== ERROR while compiling ocaml-base-compiler.4.02.3 =========================#
    # context     2.0.0 | linux/x86_64 |  | https://opam.ocaml.org#12c8601e
    # path        ~/.opam/ocaml-base-compiler.4.02.3/.opam-switch/build/ocaml-base-compiler.4.02.3
    # command     ~/.opam/opam-init/hooks/sandbox.sh build ./configure -prefix /home/me/.opam/ocaml-base-compiler.4.02.3 -with-debug-runtime
    # exit-code   2
    # env-file    /tmp/opam-me-3195/ocaml-base-compiler-3195-d6d332.env
    # output-file /tmp/opam-me-3195/ocaml-base-compiler-3195-d6d332.out
    ### output ###
    # ./configure: line 195: rm: command not found
    # ./configure: line 196: touch: command not found
    # ../gnu/config.guess: line 35: sed: command not found
    # ../gnu/config.guess: line 1364: mkdir: command not found
    # ../gnu/config.guess: line 1364: mkdir: command not found
    # : cannot create a temporary directory in /tmp
    # [ERROR!] Cannot guess host type. You must specify one with the -host option.

    ^ ...И так там со всем.
    Кто там хотел попробовать "NixOS"? Могу поделиться впечатлениями: если вы надеятесь, что в этой оси можно будет пользоваться привычными "autotools", "opam" и "cabal", то фиг там. Из-за сломанного FHS ебаться с "Nix" придётся с первой минуты. cast @Роман

    CHayT, 25 Декабря 2018

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

    −2

    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
    names="com.termux io.twaik.lorie rubberbigpepper.Orientator"
    if test ! -e /realproc/cmdline
    then
    echo Mounting realproc
    mount -o remount,rw none /
    mkdir /realproc
    mount -t proc none /realproc
    fi
    
    tail -f /dev/null|am monitor| while read line
    do
    echo "$line"
    for n in $names
    do
    for p in `pidof $n`
    do
    if test -e /proc/$p/oom_adj
    then
    echo Masking pid $p
    mount -t tmpfs -o size=4k none /proc/$p/
    for f in /realproc/$p/*
    do ln -s $f /proc/$p
    done
    rm /proc/$p/oom_*
    fi
    echo Setting oom adj for $n $p, was $(cat /realproc/$p/oom_adj)
    echo -17 > /realproc/$p/oom_adj
    done
    done
    done

    достал oom killer.

    Где тут shell в языках?

    mittorn, 27 Ноября 2018

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