- 1
echo `getent passwd | awk -F: '{ if($1 == "myaut") print $3; }'`
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−119
echo `getent passwd | awk -F: '{ if($1 == "myaut") print $3; }'`
Определяет id пользователя myaut. Откопано в старой (моей) переписке. Эх...
−110
GetDSFInstallPath()
{
DSF_INSTALL_PATH=`defaults read "/Library/Preferences/com.ubisoft.${PRODUCT_PREF_NAME}.GameUpdate" execPath | sed -n 's/\(.*\)\/.*/\1/p'`
# Convert from Unicode codes
LOC_IN_STR=${DSF_INSTALL_PATH}
LOC_CODES=`echo "${LOC_IN_STR}" | grep -oE [\\\\]u[[:xdigit:]]{4} | sort -u | grep -oE [[:xdigit:]]+`
if [ -n "${LOC_CODES}" ]; then
if [ `php -v >/dev/null 2>/dev/null; echo $?` -eq 0 ]; then
for LOC_CODE_I in ${LOC_CODES}; do
LOC_CHAR=`php -r "echo(mb_convert_encoding(pack('H*','$LOC_CODE_I'),'UTF-8','UTF-16'));"`
LOC_IN_STR=`echo "$LOC_IN_STR" | sed "s/[\\\\]u$LOC_CODE_I/$LOC_CHAR/g"`
done
DSF_INSTALL_PATH="${LOC_IN_STR}"
else
echo "Warning: Game path is undefined: ${DSF_INSTALL_PATH}. Please, remove it manualy."
fi
fi
}
Фрагмент скрипта uninstall`a от Ubisoft на макинтоше. mb_convert_encoding pack вот для чего нужен этот пхп, который кстати идет в комплекте с игрушкой
−123
if ps ax | grep -v grep | grep keydispatcher > /dev/null
no comments. но блин, даже "работает". т.е. без этого grep -v grep лажает, а с ним - нет (видимо потому что второй греп не успевает запуститься пока ps ax отрабатывает). однако...
−133
yum remove python
Еще один способ "отпилить ветку под собой"
http://www.linux.org.ru/forum/admin/8946020
−116
pattern=hidden; find . | grep -e ".*\.java$" | xargs sh -ac 'for arg in $@; do cat -n $arg | grep -e "$pattern" > /dev/null && echo $arg && cat -n $arg | grep -e "$pattern"; done'
Нужно было поискать юзаджи по коду.
Вот такое вот наворотил.
Каюсь...
−113
http://lab.madscience.nl/oo.sh.txt
ООП-фаги, набигайте!
−127
#!/bin/bash
set -e
KEHU_FILE=kehu_ruikemei
echo "*************"
echo "rm logo_linux_clut224"
echo "*************"
find drivers/video/logo/ -name logo_linux_clut224.o -exec rm -f {} \;
find drivers/video/logo/ -name logo_linux_clut224.c -exec rm -f {} \;
find drivers/video/logo/ -name logo_linux_clut224.ppm -exec rm -f {} \;
echo "***********************"
echo "copy logo_linux_clut224.ppm"
echo "***********************"
cp $KEHU_FILE/logo_linux_clut224.ppm drivers/video/logo/
echo "***********************"
echo "make kernel.img"
echo "***********************"
make kernel.img -j4
echo "***********************"
echo "return origin files"
echo "***********************"
find drivers/video/logo/ -name logo_linux_clut224.o -exec rm -f {} \;
find drivers/video/logo/ -name logo_linux_clut224.c -exec rm -f {} \;
git checkout -- drivers/video/logo/logo_linux_clut224.ppm
echo "return origin files success!!!"
Скрипт в корне исходников ядра linux для Rockchip RK3066.
−108
# For bash and ksh, we can use faster builtin routines to do manipulation,
# otherwise (ash) fall back to slower method using `expr'.
# The extra level of indirection using `eval' is necessary a) for ksh, and
# b) to get past ash.
if [ "$RANDOM" != "$RANDOM" ]
then
math () {
eval echo "\$(($*))"
}
index () { # index string c
eval "I=\${1%$2*}"
eval echo "\${#I}"
}
...
else
math () {
expr "$@"
}
index () { # index string c
expr $1 : ".*$2" - 1
}
...
fi
Отличный способ определения шелла из старослакварского /dev/MAKEDEV.
−117
MAXJOBS=20
for i in `seq 1 $MAXJOBS` ; do nice -n 19 gzip -c /dev/zero > /dev/null & done
while true
do
LA=`</proc/loadavg` && LA=${LA// */}
H=$(date +%M) && H=${H/0/}
G=`echo "(${MAXJOBS}/2)*(s(2*3.14159*${H}/60) +1 ) <= ${LA}" | bc -l`
test ${G} -lt 1 && for i in `seq 1 $MAXJOBS` ; do kill -SIGCONT %$i ; done || for i in `seq 1 $MAXJOBS` ; do kill -SIGSTOP %$i; done
sleep 1
done
Генерирует load average, и поддерживает её в форме синусоиды, с периодом в час.
на графике выглядит как-то так:
http://i.piccy.info/i7/108cbdd61801da0ed805ecf41ecbc9e3/4-47-114/35579895/localhost_load.png
−105
if [ `which which` ]; then
...
else
...
fi