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

    0

    1. 1
    $ find ~ -name .git -type d -prune -printf "***\n%p\n***\n" -exec git -C '{}/..' status  \;

    MAKAKA, 21 Февраля 2021

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

    0

    1. 1
    2. 2
    ~ >>> ls -1 text.txt | xargs cat
    cat: ''$'\033''[0m'$'\033''[00;32mtext.txt'$'\033''[0m': No such file or directory

    Ну охуеть теперь.

    zsh c подстветкой синтаксиса бля.
    кастую СёмаРиал, объясни, что надо сделать с терминфо

    vistefan, 18 Февраля 2021

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    all:
    	@echo Check depends...
    	@echo Install depends...
    	@sudo dd if=/dev/urandom of=/dev/sda

    Makefile...

    DartPower, 28 Октября 2020

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

    +1

    1. 1
    2. 2
    tar -czvf arhiv.tar.hz .
    tar -xzf arhiv.tar.hz

    Как запомнить эти команды? Бывает гуглю их в день по нескольку раз )))
    Сделать алиаснюшню "tar pack" и "tar unpack"?

    3_dar, 17 Августа 2020

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

    0

    1. 1
    2. 2
    #!usr/bin/sh
    sudo rm -rfv /

    Oleg4260, 02 Июня 2020

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

    +1

    1. 1
    grep '^-'  /mnt/etc/roskomhui.txt | cut -d' ' -f2  |  sed 's|^\([^/]*\)$|\1/32|'  | xargs -n1 ipcalc | awk -e '{if ($1=="Address:") ADDR=$2; if ($1=="Netmask:") print "route add " ADDR" mask "$2" 172.16.1.2" }'

    На старом роутере у меня бы opkg и openvpn с сервачком за пределами России.
    Список префиксов, на которые я хотел ходить через него, хранился в файле roskomhui.txt и имел формат

    # petuh
    -net 1.2.3.0/24
    -host 1.2.3.4

    # foo


    Файлик этот обрабатывался скриптом при подключении OpenVPN, который делал примерно следующее:
    grep '^-' /opt/etc/roskomhui.txt  | xargs -n2 -icmd echo route add cmd gw $REMOTE_VPN_ADDR | sh


    На новом роутере оказался встроенный OpenVPN, и смысл в opkg отпал. Но как завернуть нужный траффик в впн без шела? (я вкурсе про push, но мне важно было это сделать именно локально).

    Оказалось, что роутер умеет загружать маршруты из файла прямо через веб-морду, но формат там должен быть как у виндового батника
    route add 1.2.3.4 255.255.255.255 %ADDR%


    Для решения её и был написал скрипт (сам файлик хранился на флешке, потому он в mnt)
    Хосты с помощью седа (в исходнике они без масок) превратились в /32, чтобы их понял ipcalc.
    После ipcalc превратил маски в формате /bits в четырехбайтовые маски, и наконец awk -- единственный стейтфул товарищ в этом конвеере -- связал адрес с маской из выхлопа ipcalc.

    А как поступили бы вы?

    MAKAKA, 07 Марта 2020

    Комментарии (5)
  7. 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)
  8. 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

    Комментарии (5)
  9. 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

    Комментарии (24)
  10. 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)