metaclass: (Default)
[personal profile] metaclass
https://github.com/ahmetalpbalkan/govvv
Софтина на голанге, вызывающая go build с параметрами, устанавливающими переменные с версией, датой сборки, идентификатором ревизии гита и прочим таким.
Я бы в жизни не додумался искать такую софтину, сделал бы в скрипте вызов $(git rev-parse HEAD) и впихнул ее вывод в -ldflags, а вот однако ж - бывает. Хрен знает, насколько хорошо тащить все червей из всех закоулков гитхаба ради условного "взять готовое решение".

Date: 2016-08-16 05:18 pm (UTC)
From: [identity profile] besm6.livejournal.com
*sh неудобен для аккуратного перебора всех вариантов. Потому и провоцирует на. Он хорош на своем месте - для малой автоматизации работы юзера и для работы под присмотром оного юзера. Чем меньше присмотра предполагается, тем больше аргументов в пользу чего-то другого.

Я действительно пробовал писать на шелле аккуратно. Очень быстро выясняется, что ой. Ну, чтоб не быть голословным - конструкцию вида try-finalize там сделать можно, но только в один уровень. Что, в общем, логично, ибо trap - это перехватчик не исключений, а сигналов, другая семантика. Но сразу приходится рисовать прорву вложенных if, в которых элементарно запутаться. Будет хуже, чем на го.

Это я не шибко сложные, но и не вполне тривиальные скрипты бэкапа писал. Кончилось тем, что они были переписаны на перле (perl был выбран потому, что мне бэкапить в основном дебианы, perl там по определению есть).

Date: 2016-08-16 05:38 pm (UTC)
From: [identity profile] sbj-ss.livejournal.com
Пытаться перехватывать на шелле исключения - ой-вей, таки спасибо, пытался. set -e - ну его фтопку, поведение меняется от версии к версии, условия срабатывания trap неочевидны. Плюс попытки перехватить при этом stderr выливаются в фоновый слушатель и подобный секс в гамаке и стоя.
Тоже переписал на перле, да :)

Date: 2016-08-17 03:43 pm (UTC)
From: [personal profile] ex0_planet
Дак не надо секс в гамаке, исключения там и все вот это вот. Задача обсуждаемого двухпятистрочника — всосать пяток переменных из контроля версий — чуть что не так и досвидос. Эксепшн один — exit 255.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 10th, 2025 04:41 am
Powered by Dreamwidth Studios