- 1
- 2
- 3
- 4
- 5
apt update
apt upgrade
brew upgrade
brew update
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−1
apt update
apt upgrade
brew upgrade
brew update
Постоянно их путаю
−6
#!/bin/bash
CODE='timezone.txt'
WDIR="dl-${CODE}"
TGTDIR="/etc/puppet/modules/nginx/files/etc/nginx/maxmind/"
URL='http://www.maxmind.com/timezone.txt'
mkdir "${WDIR}"
cd "${WDIR}"
wget ${URL} -O "${CODE}"
find -name "${CODE}" | while read F
do
chown root:root -vf "${F}"
chmod -vf 644 "${F}"
mv -vf "${F}" "${TGTDIR}"
TMPDIR=`dirname "${F}"`
if [[ ${TMPDIR} == '.' || ${TMPDIR} == '..' || ${TMPDIR} == '/' ]]
then
# root's rm -rf safety
continue
fi
echo rm -rfv "${TMPDIR}"
rm -rfv "${TMPDIR}"
done
Задача стояла всего лишь скачать txt файл.
+1
#!/bin/sh
[ ${SHELL} = "/bin/bash" ] || exit "Bash required!"
+1
stop() {
PIDS=$(/sbin/pidof $PNAME)
CNT=0
if [[ $PIDS != "" ]]; then
echo -n "Stopping $PNAME: "
killall $PNAME && echo "ok" || echo "failed"
while [[ $PIDS != "" ]]
do
PIDS=$(/sbin/pidof $PNAME)
echo -n "."
sleep 1
CNT=$(($CNT+1))
if [[ $CNT -eq 3 ]]; then killall -9 $PNAME;echo -e "\n$PNAME: Force kill";break; fi
done
echo
else echo "$PNAME: don't start"
fi
}
Так автор видел выключение процесса. Процесс работает с файлами на жестком диске и ему важна их целостность, поэтому за 3 секунды не завершался. А еще при gracefully shutdown пишется обновление конфига процесса на диск. Но кого волнуют такие мелочи если оно уже работает в проде 7+ лет
+2
export $(grep PROJECT_NAME .env | xargs)
export $(grep USERID .env | xargs)
docker exec -it -u ${USERID} ${PROJECT_NAME}_application bash -l
На минуточку в проекте написанный лично разрабом до меня docker-compose.
+1
~ cat test.sh
#!/bin/bash
for i in "$@"; do
echo $i
done
arglist="$@"
for i in $arglist; do
echo $i
done
~ sh test.sh 1 2 '3 4'
1
2
3 4
1
2
3
4
~
Застрял на отладке одного скрипта, как этим правильно пользоваться?
+4
#!/usr/bin/env bash
URL=https://foo.bar/baz.zip
PATH=/home/foo/bar/baz.zip
wget -O "$PATH" "$URL"
И только потом до мена дошло…
−1
#!/bin/bash
status=$(xinput list-props 11 | grep 'Device Enabled' | tail -c 2 | tr -d '\n')
echo "Current TB status: $status"
if [[ $status = "0" ]]
then
xinput enable 11
echo "Enabled touchpad!"
else
xinput disable 11
echo "Disabled touchpad!"
fi
Как вам мой скриптик?
0
function error {
printf "ERROR: $1\n" >&2
}
function warning {
printf "WARNING: $1\n"
}
function info {
printf "INFO: $1\n"
}
function println {
printf "$1\n"
}
function block {
printf "\n$3\n$1 \t[$2]\n$3\n"
}
function fail {
println "\n"
println "FAIL"$1
println
}
function checkz {
if [ -z $1 ]; then
error "empty string"
return 1
fi
info "string \"$1\" \t[OK]"
return 0
}
function checkx {
if [ ! -x $1 ]; then
error "$1 \t[NOT FOUND]"
return 1
fi
info "$1 \t[OK]"
return 0
}
function checkb {
if [ ! -b $1 ]; then
error "$1 \t[NOT FOUND]"
return 1
fi
info "$1 \t[OK]"
return 0
}
function checkc {
if [ ! -c $1 ]; then
error "$1 \t[NOT FOUND]"
return 1
fi
info "$1 \t[OK]"
return 0
}
function checkf {
if [ ! -f $1 ]; then
error "$1 \t[NOT FOUND]"
return 1
fi
info "$1 \t[OK]"
return 0
}
function checkd {
if [ ! -d $1 ]; then
error "$1 \t[NOT FOUND]"
return 1
fi
info "$1 \t[OK]"
return 0
}
function checkd_mk {
if [ ! -d $1 ]; then
info "$1 \t[NOT FOUND]"
info "$1 \t[MAKING...]"
mkdir -p $1
checkd $1
return $?
fi
info "$1 \t[OK]"
return 0
}
function sized {
sized=($(ls $1))
return ${#sized[@]}
}
Вспомогательные функции проверки файлов и директорий, а также вывода ошибок
0
/bin/cat /bin/cat
https://ideone.com/QSSlWV