Size: a a a

2020 September 19

аᶘ

асоциальный пикотран... in pro.bash
Vladislav support.od.ua
Имею кусок кода:
read -r -d '' HTML_MAIL <<EOF
<pre><b>To: </b>$EMAIL_ADDRESS
<b>From: </b>$FROM
<b>Subject: </b>$SUBJECT</pre>
$HTML_BODY
EOF
Фряха ругается:
+ read -r -d '' HTML_MAIL
read: Illegal option -d
Ты мог просто сделать так, без read'ов и heredoc'ов:
$ HTML_MAIL="<pre><b>To: </b>$EMAIL_ADDRESS
<b>From: </b>$FROM
<b>Subject: </b>$SUBJECT</pre>
$HTML_BODY"
источник

Vs

Vladislav support.od... in pro.bash
я не уверен, сохранятся ли переносы строк
источник

аᶘ

асоциальный пикотран... in pro.bash
Vladislav support.od.ua
я не уверен, сохранятся ли переносы строк
Ну я ж тебе пиздеть не буду, не по-братцки это.
источник

Vs

Vladislav support.od... in pro.bash
давайте я заставлю работать скрипт, опубликую, а вы будете разрывать его направо и налево
источник

аᶘ

асоциальный пикотран... in pro.bash
А если серьёзно, ну ты ж в чатике башеёбов, не веришь что ли моему опыту? Я ж заранее всё ещё тестирую перед тем, как предлагать.
источник

аᶘ

асоциальный пикотран... in pro.bash
zar@alpha in ~
$ HTML_MAIL="<pre><b>To: </b>$EMAIL_ADDRESS
<b>From: </b>$FROM
<b>Subject: </b>$SUBJECT</pre>
$HTML_BODY"
zar@alpha in ~
$ echo "$HTML_MAIL"
<pre><b>To: </b>sergey@nazaryev.ru
<b>From: </b>test
<b>Subject: </b>lol</pre>
abc
источник

Vs

Vladislav support.od... in pro.bash
сейчас стадия - чтоб работало.
потом будет стадия - чтоб красиво работало
и только потом, чтоб безопасно работало
источник

Лс

Лень с Самосознанием... in pro.bash
Звучит как рецепт для уязвимостей и неожиданных багов в окончательной отладке
источник

аᶘ

асоциальный пикотран... in pro.bash
Лень с Самосознанием
Звучит как рецепт для уязвимостей и неожиданных багов в окончательной отладке
Да нет, я вот поддерживаю экстремальное программирование, меня в эту веру обратили ещё в детстве
источник

аᶘ

асоциальный пикотран... in pro.bash
> Простота решений. Принимается первое простейшее рабочее решение. Экстремальность метода связана с высокой степенью риска решения, обусловленного поверхностностью анализа и жестким временным графиком. Реализуется минимальный набор главных функций системы на первой и каждой последующей итерации; функциональность расширяется на каждой итерации.
источник

Vs

Vladislav support.od... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Да нет, я вот поддерживаю экстремальное программирование, меня в эту веру обратили ещё в детстве
хуяк, хуяк и в продакшен
источник

Лс

Лень с Самосознанием... in pro.bash
Вообще да, сам такой же фигнёй маюсь...
источник

Vs

Vladislav support.od... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Да нет, я вот поддерживаю экстремальное программирование, меня в эту веру обратили ещё в детстве
бейсик и ассемблер впитал с молоком матери :)
источник

Vs

Vladislav support.od... in pro.bash
Vladislav support.od.ua
сейчас стадия - чтоб работало.
потом будет стадия - чтоб красиво работало
и только потом, чтоб безопасно работало
https://github.com/click0/tmpmail/blob/master/tmpmail
прошу покритиковать :)
патчи приветствуются
источник

аᶘ

асоциальный пикотран... in pro.bash
1. Если пишешь всё равно кроссплатформенно, то может лучше на /bin/sh вместо bash? Я там явных башизмов-то и не вижу у тебя.
2. Почему бы не называть все переменные внутри скрипта в нижнем регистре? Это их будет отличать от переменных окружения.
3. Если таки хочешь оставить баш, то используй хотя бы local для всех локальных переменных в функциях
4. Есть ли причины использовать псевдоboolean с этими "true" или "false", если есть 1 и 0? :)
5. Советую избегать echo -e, потому что не кроссплатформенно (echo по стандарту не умеет в \n и в ключ -e), лучше везде printf
6. Вместо разыменовывания переменных прямо в echo "xxx", читаемее делать это в printf "%s:%s" "$abc" "$cde"
7. ID=$(echo $MAIL_DATA | jq -r ".id"), нет кавычек у MAIL_DATA, может разъебашить
8. printf '%s\n' "$ID ||$FROM ||$SUBJECT" — это лол, может '%s || %s || %s' "${id}"...?
9. Ну вместо cat и временного файла я уже показывал вариант выше
10. EMAIL_ADDRESS="$(get_email_address)" нет смысла в кавычках тут, по стандарту можно без, оно нормально сработает даже если будут пробелы внутри output'а функции
источник

аᶘ

асоциальный пикотран... in pro.bash
Не используется trap для чистки файлов в случае выхода из скрипта ПРЕЖДЕВРЕМЕННО, оче нехорошо
источник

Vs

Vladislav support.od... in pro.bash
где ты увидел trap ?
источник

аᶘ

асоциальный пикотран... in pro.bash
Vladislav support.od.ua
где ты увидел trap ?
Я говорю, что его там нет, а лучше бы был.
источник

Vs

Vladislav support.od... in pro.bash
ты лучше посмотри todo
источник

Vs

Vladislav support.od... in pro.bash
я так и не понял, как с case быть
источник