Страница 1 из 1

Старый добрый Линукс

Добавлено: 09.03.21 15:31
БудДен
Как плод коллективного творчества на ЛОРе возникла идея о том, что надо взять старый линукс и заливать в него обновления безопасности.

Возможно, это подошло бы в качестве отправной точки:

https://www.elivecd.org/

Re: Старый добрый Линукс

Добавлено: 09.03.21 15:32
БудДен
Хотя не, вру, он основан на новейшем debian.

Re: Старый добрый Линукс

Добавлено: 27.05.22 12:30
ЮриЧ
Давеча в телеграм-канале обсуждали недостатки шеллов и скриптов. В результате дискуссии были найдены:
анализатор баш скриптов на предмет ошибок и оптимизации синтаксиса
и продвинутый шелл на пайтоне

Re: Старый добрый Линукс

Добавлено: 27.05.22 22:34
БудДен
Список недостатков:

нельзя хорошо сделать, чтобы скрипт падал при ошибке в какой-то строке.

https://stackoverflow.com/questions/497 ... ash-script

http://mywiki.wooledge.org/BashFAQ/105

Неопределённая переменная всегда пустая

В руководстве написано, "вы должны определить переменную SUPER_COMPLEX_VARIABLE_NAME, если она не определена, то бдует такое-то поведение по умолчанию"

Мы определяем переменную SUPER_COMPLEK_VARIABLE_NAME и потом долго пытаемся понять, что же не так?

Денис Будяк, [26.05.2022 17:02]
В руководстве написано, "вы должны определить переменную SUPER_COMPLEX_VARIABLE_NAME, если она не определена, то бдует такое-то поведение по умолчанию"

Денис Будяк, [26.05.2022 17:03]
Мы определяем переменную SUPER_COMPLEK_VARIABLE_NAME и потом долго пытаемся понять, что же не так?

Если мы упали в том же питоне, то нам напишут стек. В баше нам ничего не напишут.

Отладчик для питона есть, для баша его нет. Т.е. всё просто прекраснее некуда, если речь идёт о скриптах. А скрипты - это между прочем очень дорогая штука. Хоть в них и немного строчек, зато они клеют между собой крупные кирпичи, значит, каждая строчка баш-скрипта может быть очень дорогостоящей.

Изначальный список проблем

Денис Будяк, [25.05.2022 20:41]

1. основаны на текстовых подстановках вместо нормальных вычислений
2. нет модульности (запуск под-оболочки - это костыль)
3. нет разницы между отсутствием переменной и пустой переменной (на самом деле можно настроить, чтобы была, но это не принято)
4. нет типов данных, только строки (может и есть, но кто про них знает?)
5. нет нормальной обработки ошибок, а по умолчанию ошибки вообще игнорируются
6. переменные по умолчанию являются глобальными (оказалось, что есть и локальные, но кто про это знает?)
7. нет нормального отладчика
8. нет компиляции и проверки ошибок до выполнения
9. крайне широко применяется eval
10. гвоздями прибита латиница

Re: Старый добрый Линукс

Добавлено: 21.06.22 15:18
НуцлеарСхаман
6. переменные по умолчанию являются глобальными (оказалось, что есть и локальные, но кто про это знает?)
https://tldp.org/LDP/abs/html/localvar.html
https://plana.mybb.ru/viewtopic.php?id=1552#p7063