- 1
grep '^-' /mnt/etc/roskomhui.txt | cut -d' ' -f2 | sed 's|^\([^/]*\)$|\1/32|' | xargs -n1 ipcalc | awk -e '{if ($1=="Address:") ADDR=$2; if ($1=="Netmask:") print "route add " ADDR" mask "$2" 172.16.1.2" }'
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
grep '^-' /mnt/etc/roskomhui.txt | cut -d' ' -f2 | sed 's|^\([^/]*\)$|\1/32|' | xargs -n1 ipcalc | awk -e '{if ($1=="Address:") ADDR=$2; if ($1=="Netmask:") print "route add " ADDR" mask "$2" 172.16.1.2" }'
На старом роутере у меня бы opkg и openvpn с сервачком за пределами России.
Список префиксов, на которые я хотел ходить через него, хранился в файле roskomhui.txt и имел формат
# petuh
-net 1.2.3.0/24
-host 1.2.3.4
# foogrep '^-' /opt/etc/roskomhui.txt | xargs -n2 -icmd echo route add cmd gw $REMOTE_VPN_ADDR | shroute add 1.2.3.4 255.255.255.255 %ADDR%0
#!/bin/sh
rm -rf /home/project/*
FOLDER=/home/project
cp ./*.php $FOLDER
cp -r css img js $FOLDER
FILES=$(find css js templates -type f -regex '.*.\(js\|css\|twig\)')
for f in $FILES; do
echo "$f"|grep twig 1>/dev/null
r=$?
if [ "$r" -eq 0 ]; then
minify --type html "$f" --output $FOLDER
else
minify "$f" --output $FOLDER
fi
done
лучший код, пользуйтесь
проверено ShellCheck!
0
FILES=`find css js templates -type f -regex '.*.\(js\|css\|twig\)'`
for f in $FILES; do
str=`echo -n $f|rev`
i=`expr index $str /`
ret=`echo -n ${str:$i}|rev`
echo $f|grep twig &>/dev/null
r=$?
echo $f :
if [ "$r" -eq 0 ]; then
minify --type html $f --output $FOLDER/$ret
else
minify $f --output $FOLDER/$ret
fi
done
сука блядь глючит! костыли ебаные
0
# Если вы желаете ограничить диапазон "снизу",
# то просто производите генерацию псевдослучайных чисел в цикле до тех пор,
# пока не получите число большее нижней границы.
FLOOR=200
number=0 # инициализация
while [ "$number" -le $FLOOR ]
do
number=$RANDOM
done
echo "Случайное число, большее $FLOOR --- $number"
https://www.opennet.ru/docs/RUS/bash_scripting_guide/x4812.html
−1
#!/bin/sh
IFS=:
echo "Login\tUID"
while read LOGIN _ UID _;
do
echo "$LOGIN\t$UID"
done < /etc/passwd
давайте обсуждать шелл-программирование
0
set -e
myfunc() {
echo "START"
v=$(asdasdsd 1 2 3)
echo "FINISH"
}
myfunc && echo "OK"
Выводит:
START
./b.sh: line 5: asdasdsd: command not found
FINISH
OKset -e
myfunc() {
echo "START"
v=$(asdasdsd 1 2 3)
echo "FINISH"
}
myfuncSTART
./a.sh: line 5: asdasdsd: command not found−1
Как наебнуть дистрибутив, читайте бесплатно без регистрации и СМС.
Способ от Oleg'а: Каряво обновить.
1) Идем на https://en.opensuse.org/SDB:System_upgrade, делаем все по инструкции.
2) Качаем 1.6 ГБ пакетов и ждем установки
3) На системном разделе в 50 гигов заканчивается место почти за 10% до конца установки
4) ctrl+C
А почему я решил обновить его именно сейчас?
Да потому что mariadb 10.2 поддерживающая JSON поля тянет зависимости вплоть до glibc.
А я уже один раз установил более свежую glibc в debian, лучше этого больше никогда не повторять.
В общем, если надо обновлять пакет - то обновляй с дистрибутивом вместе, все равно именно так и поставляют, такая вот логика.
https://software.opensuse.org/package/mariadb
Ну может еще пошаманю посижу, удалю весь мусор идущий в "start menu" и запущу апгрейд по новой, но точно не сейчас.
Потому что надо дописывать код.
Вот же я лох.
−1
if [[ $(git log -n 1 --format=%D HEAD) == *"merge"* ]]; then
sed -i "s/GIT_COMMIT\(.*\)/GIT_COMMIT=$(git rev-list HEAD | sed -n 2p)/" env.list
0
jopa | parasha
Допустим jopa бесконечно срёт в STDOUT.
parasha это всё читает из STDIN.
Что будет делать ОС, если параша не будет успевать читать высеры?
Держать в памяти? Сохранять на диск?
0
[ERROR] The compilation of ocaml-base-compiler failed at "/home/me/.opam/opam-init/hooks/sandbox.sh build ./configure -prefix /home/me/.opam/ocaml-base-compiler.4.02.3 -with-debug-runtime".
#=== ERROR while compiling ocaml-base-compiler.4.02.3 =========================#
# context 2.0.0 | linux/x86_64 | | https://opam.ocaml.org#12c8601e
# path ~/.opam/ocaml-base-compiler.4.02.3/.opam-switch/build/ocaml-base-compiler.4.02.3
# command ~/.opam/opam-init/hooks/sandbox.sh build ./configure -prefix /home/me/.opam/ocaml-base-compiler.4.02.3 -with-debug-runtime
# exit-code 2
# env-file /tmp/opam-me-3195/ocaml-base-compiler-3195-d6d332.env
# output-file /tmp/opam-me-3195/ocaml-base-compiler-3195-d6d332.out
### output ###
# ./configure: line 195: rm: command not found
# ./configure: line 196: touch: command not found
# ../gnu/config.guess: line 35: sed: command not found
# ../gnu/config.guess: line 1364: mkdir: command not found
# ../gnu/config.guess: line 1364: mkdir: command not found
# : cannot create a temporary directory in /tmp
# [ERROR!] Cannot guess host type. You must specify one with the -host option.
^ ...И так там со всем.
Кто там хотел попробовать "NixOS"? Могу поделиться впечатлениями: если вы надеятесь, что в этой оси можно будет пользоваться привычными "autotools", "opam" и "cabal", то фиг там. Из-за сломанного FHS ебаться с "Nix" придётся с первой минуты. cast @Роман