- 1
if [ `ls -al /some/path/ | grep filename | (read a b c d e f g h i j k && echo ${i})` != "" ]; thenНашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−97
if [ `ls -al /some/path/ | grep filename | (read a b c d e f g h i j k && echo ${i})` != "" ]; thenя бы до такого никогда не додумался. авторство утеряно в аналах: то ли немецкое, то ли американское творчество.
−107
...
%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}/*
...
            И ведь что показательно, работает!
Вот просто не предать словами, как я это ненавижу. Менеджер пакетов завдующий установкой ПО написан на Питоне, но нельзя просто так взять и на Питоне же написать установочный скрипт. Надо горбатится над каким-то недоязыком с феноменально шизофреничными макросами полным отсутствием каких-либо высокоуровневых инструментов, типа структур и интерфейсов...
        
−118
set -xexexe
            из тестового скрипта. началось все с очепятки.
в дурмане тупого писания тупых тестов, не мог остановится хихикать.
        
−80
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 великолепен
−111
WHEN=`date +%Y-%m-%d_%H-%M`;
# Если дамп в этом часу не создавался, то минуты в имени опускаем
# Осторожно, этот скрипт подвержен проблеме 10000 года.
# Обязательно скажите об этом своим прапрапрапрапрапрапрапрапрапрапрапра...правнукам
if ! [[ -s $DYMPATH/${WHEN:0:13}.sql.$ARCEXTEN ]] ; then
    WHEN=${WHEN:0:13}
fi
−114
#!/bin/bash
C=/${0}
C=${C%/*}
M=`/bin/uname -m`
if test -e /System/Library/Frameworks/GameController.framework; then
        exec "${C:-.}"/iFile_
elif test -e /System/Library/Frameworks/CoreMedia.framework; then
        case $M in
                "iPhone1,2" | "iPod2,1") exec "${C:-.}"/iFile4;;
                *) exec "${C:-.}"/iFile5;;
        esac
elif test -e /System/Library/Frameworks/GameKit.framework; then
        exec "${C:-.}"/iFile3
else
        exec "${C:-.}"/iFile2
fiВот такой вот способ узнать версию iOS.
−118
#!/bin/bash
# make file $1
function mkfile () {
  echo -n "$FILE "
  [ -e "$1" ] && echo "exists" && return 0
  sudo -u liferay mkdir -p $(dirname "$1")
  sudo -u liferay touch "$1"
  echo "created"
}
PREFIX=/opt/liferay/data/document_library
mkfile $PREFIX/10153/1322521/20445/1.0
for (( i=28036 ; i <= 28135 ; ++i )) ; do
  mkfile $PREFIX/10153/2992652/$i/1.0
doneСкрипт создания недостающих файлов в document_library написаный админами одного крупного восточного универа)
−122
exit_status=0
# blah-blah
for process in "service1 service2 service3"; do
    # blah-blah
    $process || \
        exit_status=`expr "${exit_status}" \| 1` 
done
exit $exit_statusВ раздел "джависты пишут шелл-скрипты"
−125
if [ $count > 0 ]; then
    ...
fi
−128
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
    CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
    CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
    if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
        eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
    else
        eval `echo args$i`="\"$arg\""
    fi
    i=$((i+1))
done
case $i in
    (0) set -- ;;
    (1) set -- "$args0" ;;
    (2) set -- "$args0" "$args1" ;;
    (3) set -- "$args0" "$args1" "$args2" ;;
    (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
    (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
    (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
    (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
    (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
    (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esacgradle wrapper