to post messages and comments.

Запилил кароч термостат.
subzero.l29ah.blasux.ru

∞ cat /usr/local/sbin/collectd-co2mond
#!/bin/zsh
temp_topic=/devices/7fe7/controls/relay/on
getheat() {
mosquitto_sub -C 1 -t "$temp_topic"
}
setheat() {
mosquitto_pub -r -t "$temp_topic" -m "[email protected]"
}
set_temp=22
set_temp_hyst=0.3
INTERVAL=5
HOST=localhost
co2mond | while read -r name value; do
if [[ "$name" == "CntR" ]]; then
echo $value > /tmp/co2
echo "PUTVAL $HOST/co2mon/gauge-co2 interval=$INTERVAL N:$value"
if [ -e /tmp/fan_force ]; then
cat /tmp/fan_force > /dev/fan
else
[ "$value" -lt 800 ] && echo 0 > /dev/fan || echo 1 > /dev/fan
fi
elif [[ "$name" == "Tamb" ]]; then
echo $value > /tmp/temp
echo "PUTVAL $HOST/co2mon/temperature-temp1 interval=$INTERVAL N:$value"
if [ -e /tmp/heater_force ]; then
setheat $(cat /tmp/heater_force)
else
curvalue=$(getheat)
if [[ "$curvalue" == 0 ]]; then
[[ "$value" -gt "$((set_temp — set_temp_hyst))" ]] || setheat 1
else
[[ "$value" -gt "$((set_temp + set_temp_hyst))" ]] && setheat 0
fi
fi
fi
done

ssh l29ah.blasux.ru tail -F /var/log/dhcpd/current | sed -une 's#.DHCPACK on \([^ ]\) to.*#\1#p' | while read -r addr; do
sshpa admin ssh "[email protected]$addr" show > "show-$addr" &
sleep 5
kill %1
done

проходится один раз по циклу, затем
./dhcpd-handler.sh: line 44: read: read error: 0: Resource temporarily unavailable

ШТО????

Чтобы передать параметры скрипта дальше, нужно использовать это:
"[email protected]"Никакие другие варианты вроде этих:
$*
"$*"
[email protected]
не дают ожидаемого результата. Ну, тобишь, ты даёшь три параметра:
byaka.sh 1 2 "3 4"а он вызывает это:
./other.sh $*а следующий скрипт получает это:
other.sh 1 2 3 4=_=

Я 15 минут пыталась запустить командой "bash download_dataset.py" и все не могла понять, почему он ругеается на импорт, вроде все библиотеки были на месте =/ Ночью надо спать, а не науку шатать .__.

success story
I run a small hosting provider with more or less 1,535 customers and I use Ansible to automate some operations to be run on all servers
Last night I accidentally ran, on all servers, a Bash script with a rm -rf {foo}/{bar} with those variables undefined due to a bug in the code above this line.
All servers got deleted and the offsite backups too because the remote storage was mounted just before by the same script (that is a backup maintenance script).
telegraph.co.uk

Скопировать все файлы за 2009-й год из подкаталогов в целевой каталог с сохранением структуры.

find . -newermt 20090101 -not -newermt 20100101 -type f -exec cp -a --parents \{\} /tmp/2009/ \;

Полезно для раскладывания хаотично пополняемых каталогов в squash+aufs слои.

Впорос у меня возник очень даже заманчивый. В ситеме (xubuntu 14.04.4) у меня установленны bash и zsh. А так же два эмулятора терминала. Один стандартный xfce4-terminal 0.6.3 а второй terminator 0.97. Можно ли сделать так, что бы в одном использовался bash, а в другом zsh. Или это прописывается глобально для пользователя ?

Переименовать все картинки в подкаталоге, перенеся их в текущий с последовательной нумерацией:
find Wallpapers -type f | cat -n | while read n f; do mv "$f" "$(printf "bg%06d.jpg" "$n")"; done

Bash: Комментарий к посту на geektimes про выход нового патча для Diablo II спустя почти 16 лет после выхода игры: FoxCanFly: Вот это действительно LTS, а не эти ваши Дебианы bash.im

Bash: из игры Line ][ Age :
Lakki : еще раз меня в пк убьёшь , я тя завалю! Ты заебал! дай пакочаццо
FreeStyler : Ну и как ты меня завалишь , ньюбай ?
Lakki : сцуко , ты 14 летний дебил , живёшь по адрессу К Маркса 47, 27.
Lakki : я блять приду и завалю! поверь олень, мне идти 10 минут, у нас сеть локальная баран!
FreeStyler : хорошо ... Покачаццо помочь?

Проблему, озвученную в предыдущем посте решила двумя способами. Так:
MY_DP=$( dirname $( realpath "$0" ) )Или так:
MY_DP=$( dirname $( readlink -e "$0" ) )В первом нужно устанавливать дополнительную утилиту, а второй работает сразу.
Спасибо поучаствовавшим пойнтожуйкерам!

Вопрос знатокам баш-скриптинга. Как получить каталог, в котором находится выполняющийся скрипт, чтобы в самом скрипте подставлять его у другим файлам, которые должны искаться в каталоге скрипта?
Например, в Windows я использую конструкцию вида «%~d0%~p0», которая берёт диск и путь к каталогу, в котором лежит выполняющийся BAT файл (его имя получается из переменной %0). В итоге на файлы я ссылаюсь так: «%~d0%~p0SomeDataFile.TXT».
А как это сделать в Баше? Как из $0 вытащить такую же информацию?

Периодически натыкался на проблему, что не могу сохранить урл в файлах. Вот есть проект, по нему есть какие-то документы, исходники и кучка урлов на гуглдоки, апи, справочники. Документы и исходники в общей папочке, а вот урлы в пролёте получались. После некоторого размышления сделал следующее — урл это bash-скрипт, который просто открывает этот самый урл в браузере. Ну и название этого скрипта — название собсно содержимого. Получилось ровно то, что я хотел.
Сам скрипт для bash:

function ulinks() {
echo x-www-browser \'$1\' > $2;
chmod +x $2;
}
alias ulink='ulinks'

Использование с командной строки:
ulink dropbox.com dropbox.url

после чего файлик dropbox.url можно запускать

Хочу запустить дерьмон и выпарсить из его выблева, что он осуществляет перед демонизацией, несколько строчек в несколько переменных (iodine, нужно понять как он подключился чтобы понять как правильно ебашить маршрутизацию // или лучше его сразу в netns отселить? // бля нужно тогда как-то всю систему туда отселять или отселять уже сконфигурированный вайфай // бля чо делать?). Как лущ? Правильно ли я выбрал язык?

Комментарий к статье о сокращении численности населения:
"Зато у нас, зато у нас: мужики еще с бабами спят, не то что у вас в столицах."
bash.im :))) шах и мат)

У меня есть filepath в котором все не ascii символы заменены на заквотированные бэкслешем номера кодпоинтов (судя по тому откуда они прилетели это наверное utf-16). Как бы мне их привести в божеский вид?

echo $depth
echo $((depth — 1))

bash:
+ echo 3
3
./gg.sh: line 13: depth — 1: syntax error: invalid arithmetic operator (error token is "— 1")

zsh:
+./gg.sh:12> echo 3
3
./gg.sh:13: bad math expression: illegal character: ^"

Ххх: Я тот самый гуманитарий,у которого 5 по русскому и истории,я победитель олимпиад,но,сука, я работаю в нефтяной сфере уже 3 года и доработался до механика ВМЦ,а до этого служил в ВМФ 4 года...Что со мной не так???

Ууу: Ты не ставишь пробел после знаков препинания и забываешь о тире между подлежащим-местоимением и сказуемым-существительным.

есть баш скрипт, который при всем том, что делает создает кучу переменных окружения, я хочу их получить после его выхода, как?
запускать через `. my-script.sh`? а можно ли при этом ещё простым образом вернуться к предыдущему состояниб окружения до `. my-script.sh`?

Глупый вопрос. Как через sed заменить подстроку в файле без использования любых регулярных выражений, т.е. тупо строку на строку? Или как через replace заменить подстроку в файле с игнорированием регистра. Есть идеи или придётся городить велосипед на perl?

Идеи для коммит-месседжей:
‰ curl -Ls xvideos.com | sed -n -e ''s#./video[0-9][^"]" title="\\([^"]\\)".#\\1#p'' | shuf -n 1
Incredible quivering orgasm for Maddy OReilly — Teens Porn,
‰ curl -Ls xvideos.com | sed -n -e ''s#./video[0-9][^"]" title="\\([^"]\\)".#\\1#p'' | shuf -n 1
hot brunette having sex on the beach
‰ curl -Ls xvideos.com | sed -n -e ''s#./video[0-9][^"]" title="\\([^"]\\)".#\\1#p'' | shuf -n 1
Sexy Girl Hot Fucking With Boyfriend At Home XVIDEOSCOM
‰ curl -Ls xvideos.com | sed -n -e ''s#./video[0-9][^"]" title="\\([^"]\\)".#\\1#p'' | shuf -n 1
Interracial spitroast

помогите идиоту, есть два списка, нужно бы найти разность между ними, не diff а именно разность, как это сделать проще всего (на баше)