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

Выживание России, заминированной иностранной компьютерной техникой, в военное время.
Ответить
БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

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

Сообщение БудДен » 09.03.21 15:31

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

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

https://www.elivecd.org/

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

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

Сообщение БудДен » 09.03.21 15:32

Хотя не, вру, он основан на новейшем debian.

ЮриЧ
Сообщения: 4
Зарегистрирован: 26.03.22 14:09

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

Сообщение ЮриЧ » 27.05.22 12:30

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

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

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. гвоздями прибита латиница

Аватара пользователя
НуцлеарСхаман
Сообщения: 7
Зарегистрирован: 05.05.21 10:45

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

Сообщение НуцлеарСхаман » 21.06.22 15:18

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

Ответить