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

    −105

    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
    #!/bin/bash
    
    trap "logkeys -k && echo $'\n'Exit! && exit 0" SIGINT SIGTERM
    
    while true
    	do 
    		sleep 0.2
    		layout=$(xset -q | grep LED | awk {' print $10 '} | cut -c5)
    		if [[ $layout == 0 ]] && [[ $layoutmode == 0 ]]
    		then
    			echo layout US, US keymap already started
    			continue
    		elif [[ $layout == 1 ]] && [[ $layoutmode == 1 ]]
    		then
    			echo layout RU, RU keymap already started
    			continue
    		elif [[ $layout == 0 ]] && [[ $layoutmode == 1 ]]
    		then
    			echo layout 0,layoutmode 1,Kill and Start us,layoutmode=0
    			exec logkeys -k&
    			exec logkeys -s --no-func-keys -o /var/log/key.log&
    			layoutmode=0
    		elif [[ $layout == 1 ]] && [[ $layoutmode == 0 ]]
    		then 
    			echo layout 1,layoutmode 0,Kill and Start ru,layoutmode=1
    			exec logkeys -k&
    			exec logkeys -m /etc/logkeys/ru.map -s --no-func-keys -o /var/log/key.log&
    			layoutmode=1
    		else
    			if [[ $layout == 1 ]]
    			then
    				echo layout 1,logkeys Kill and Start
    				exec logkeys -k&
    				exec logkeys -m /etc/logkeys/ru.map -s --no-func-keys -o /var/log/key.log&
    				layoutmode=1
    			else
    				echo layout 0,logkeys Kill and Start
    				exec logkeys -k&
    				exec logkeys -s --no-func-keys -o /var/log/key.log&
    				layoutmode=0
    			fi
    		fi
    	done

    Скрипт переключающий раскладку для keylogs ...

    pl7ofit, 04 Января 2015

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

    −103

    1. 1
    2. 2
    3. 3
    if [ "valid" == "$x" ]; then
       echo "x has the value 'valid'"
    fi

    One last point (of style): <...> is better because it avoids the possibility of accidentally assigning the string "valid" to x.

    Йода-стайл теперь и в вашем баше.

    bormand, 26 Ноября 2014

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

    −117

    1. 1
    SET_CCC="CCC= ${CCC}"

    Где-то в макросах для autotools.

    bormand, 24 Октября 2014

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

    −112

    1. 1
    `dirname $1`"/"`basename $1 | sed "s/\.squashfs//"`

    шелл. обрезаем расширение имени файла (заданого в $1). хергештельт ин дойчланд.

    Dummy00001, 15 Октября 2014

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

    −128

    1. 1
    local sql=$(printf 'SELECT count(table_name) FROM user_tables WHERE table_name in (%s)' "$str_tables")

    Ънтерпрайз ашпрёт

    Elvenfighter, 14 Октября 2014

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

    −115

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    ls -laF /usr/lib/x86_64-linux-gnu/libcurl.so.4.2.0
    if [ "$?" -ne 0 ]; then
        current_location=$PWD
        gzip -dc < curl-7.22.0.tar.gz | tar -xf -
        cd curl-7.22.0
        ./configure --prefix=/usr
        make
        make install
        cd $current_location
    else
        echo "libcurl.so.4.2.0 already exist!"
    fi

    Ключ -f? Нет, не слышали.

    codemonkey, 12 Октября 2014

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

    −97

    1. 1
    if [ `ls -al /some/path/ | grep filename | (read a b c d e f g h i j k && echo ${i})` != "" ]; then

    я бы до такого никогда не додумался. авторство утеряно в аналах: то ли немецкое, то ли американское творчество.

    Dummy00001, 02 Октября 2014

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

    −107

    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
    ...
    %install
    %{__rm} -rf %{buildroot}
    mkdir -m 755 -p %{buildroot}%{_datadir}/common-lisp/source/%{name}
    for s in $(find -regex '.+\.\(lisp\|asd\|org\)$'); do
      install -D -m 644 $s %{buildroot}%{_datadir}/common-lisp/source/%{name}
    done;
    mkdir -m 755 -p %{buildroot}/etc/common-lisp/source-registry.conf.d
    for las_conf in $(ls %{buildroot}/etc/common-lisp/source-registry.conf.d | tail -n 1); do
        for last in $(echo "${last_conf}" | grep -oP '^[0-9]+'); do
            for cl_prefix in $(echo "${last}+1" | bc); do
                echo '(:include "/usr/share/common-lisp/source/%{name}/")' > \
    	            "%{buildroot}/etc/common-lisp/source-registry.conf.d/${cl_prefix}-%{name}.conf"
                install -m 644 ${cl_prefix}-%{name}.conf %{buildroot}/etc/common-lisp/source-registry.conf.d
            done;
        done;
    done;
    
    %files
    %defattr(-,root,root,-)
    %{_datadir}/common-lisp/source/%{name}/*
    ...

    И ведь что показательно, работает!

    Вот просто не предать словами, как я это ненавижу. Менеджер пакетов завдующий установкой ПО написан на Питоне, но нельзя просто так взять и на Питоне же написать установочный скрипт. Надо горбатится над каким-то недоязыком с феноменально шизофреничными макросами полным отсутствием каких-либо высокоуровневых инструментов, типа структур и интерфейсов...

    wvxvw, 30 Сентября 2014

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

    −118

    1. 1
    set -xexexe

    из тестового скрипта. началось все с очепятки.

    в дурмане тупого писания тупых тестов, не мог остановится хихикать.

    Dummy00001, 27 Сентября 2014

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

    −80

    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
    Devastator:ark grawl$ sass-convert -F scss -T sass -i -R *.scss
    Error: '*.scss' is not a directory
      Use --trace for backtrace.
    Devastator:ark grawl$ sass-convert -F scss -T sass -i -R .
    Devastator:partials grawl$ sass-convert -F scss -T sass -i -R *.scss
    Error: 'colors.scss' is not a directory
      Use --trace for backtrace.
    Devastator:partials grawl$ sass-convert -F scss -T sass -i -R .
        convert ./colors.scss
      overwrite ./colors.scss
    Errno::EISDIR: Is a directory - .
      Use --trace for backtrace.
    Devastator:partials grawl$ sass-convert -F scss -T sass -i -R
    Error: directory required when using --recursive.
      Use --trace for backtrace.

    sass-convert великолепен

    Grawl, 22 Сентября 2014

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