- 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" ;;
esac
gradle wrapper