Как плод коллективного творчества на ЛОРе возникла идея о том, что надо взять старый линукс и заливать в него обновления безопасности.
Возможно, это подошло бы в качестве отправной точки:
https://www.elivecd.org/
Старый добрый Линукс
Re: Старый добрый Линукс
Хотя не, вру, он основан на новейшем debian.
Re: Старый добрый Линукс
Давеча в телеграм-канале обсуждали недостатки шеллов и скриптов. В результате дискуссии были найдены:
анализатор баш скриптов на предмет ошибок и оптимизации синтаксиса
и продвинутый шелл на пайтоне
анализатор баш скриптов на предмет ошибок и оптимизации синтаксиса
и продвинутый шелл на пайтоне
Re: Старый добрый Линукс
Список недостатков:
нельзя хорошо сделать, чтобы скрипт падал при ошибке в какой-то строке.
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. гвоздями прибита латиница
нельзя хорошо сделать, чтобы скрипт падал при ошибке в какой-то строке.
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. гвоздями прибита латиница
- НуцлеарСхаман
- Сообщения: 7
- Зарегистрирован: 05.05.21 10:45
Re: Старый добрый Линукс
https://tldp.org/LDP/abs/html/localvar.html6. переменные по умолчанию являются глобальными (оказалось, что есть и локальные, но кто про это знает?)
https://plana.mybb.ru/viewtopic.php?id=1552#p7063