Почему нельзя делать документы изначально в LibreOffice и обмениваться ими в его родном формате ODF? Получатель документа всегда может свободно установить себе инструмент для работы с этим документом.
Прочитал поправки и вот что понял, как мне кажется правильно.
В законе ничего не сказано про регистрацию пользователя, и тем более про электронную почту.
По закону пользователя находящегося на территории РФ можно авторизовать одним из способов:
Через мобильный телефон, но для этого нужно заключить договор на идентификацию пользователей с оператором мобильной связи.
Через систему "Единая система идентификации и аутентификации" (Госуслуги).
Через систему "Единая биометрическая система".
Через систему, которая принадлежит российскому гражданину или российской организации.
Большинство сайтов авторизуют пользователей через свою базу. И если эта база и ПО находятся на территории РФ и принадлежат российской организации или физлицу, то это подпадает под 4-й способ.
Эти поправки делают запрещенными авторизацию через иностранных OAuth провайдеров. Т.е. придется для пользователей с территории РФ блокировать на сайте кнопки "Войти через Google" и другие подобные.
каркозябры обычно начинаются если бинарник вывести в консоль как есть
И это легко объяснить. Дело в том, что терминалом можно управлять посылая ему последовательность символов, так называемые управляющие символы ANSI.
И если на терминал отправить поток байт из бинарного файла, там вполне может встретиться комбинация символов, которая окажет негативное воздействие на состояние терминала.
Не вижу смысла разводить демагогию bash vs shell vs terminal
В том то и дело, что terminal и shell в мире Unix это разные вещи.
Хотелось бы в статье видеть употребление правильных терминов. Эти термины существуют уже несколько десятков лет и даже определены стандартами POSIX.
Если интересно в чем различие между termina, pseudoterminal, console, virtual console, terminal emulator, shell, то рекомендую статью "Hello, World! Глубокое погружение в Терминалы".
А что касается bash, то это конкретная реализация shell. Так же и zsh - это тоже реализация shell.
Так любая ошибка - и у тебя вместо приглашения командной строки начнутся каркозябры.
Переменная IFS используется Bash для определения какие символы являются разделителями (сепараторами) строки на слова. Если значение в IFS не установлено, то разделителями будут пробел, таб и перевод строки. И эта переменная не влияет на приглашение командной строки.
В 1970-х годах был создан Unix в котором была командная оболочка Bourne shell (sh). Unix стал популярным, но был проприетарным.
В 1983 начался проект GNU, что бы создать операционную систему похожую на Unix, но свободную.
В 1989 года появилась бета-версия BASH, как замена sh из Unix.
В 1991 год началась история ядра Linux.
С первой половины 1990-х и по наши дни начали собирать дистрибутивы на базе ядра Linux и ПО написанного проектом GNU. Так GNU Bash стал стандартом де-факто в большинстве дистрибутивов GNU/Linux.
Благодаря вам загуглил и теперь знаю, что лучше юзать $()
Такие знания лучше не гуглить, а получать из официальной документации man bash раздел Command Substitution или из соответствующего раздела Bash Reference Manual.
В контексте статьи все таки речь идет о shell как он определяется стандартами Unix.
3.347 Shell
A program that interprets sequences of text input as commands. It may operate on an input stream or it may interactively prompt and read commands from a terminal.
Просто многие считают, что баш - это какой-то простенький недоязык, и совершенно не пытаются изучить базовый синтаксис.
Я бы еще добавил, что кроме синтаксиса нужно знать хотя бы о других подстановках в Bash, а не только о подстановке параметров (переменных) типа $varname.
Почему нельзя делать документы изначально в LibreOffice и обмениваться ими в его родном формате ODF?
Получатель документа всегда может свободно установить себе инструмент для работы с этим документом.
В этой фразе возможно некорректная формулировка. Думаю, что драйвер устройства обращается к регистрам устройства, а не само устройство?
Прочитал поправки и вот что понял, как мне кажется правильно.
В законе ничего не сказано про регистрацию пользователя, и тем более про электронную почту.
По закону пользователя находящегося на территории РФ можно авторизовать одним из способов:
Через мобильный телефон, но для этого нужно заключить договор на идентификацию пользователей с оператором мобильной связи.
Через систему "Единая система идентификации и аутентификации" (Госуслуги).
Через систему "Единая биометрическая система".
Через систему, которая принадлежит российскому гражданину или российской организации.
Большинство сайтов авторизуют пользователей через свою базу. И если эта база и ПО находятся на территории РФ и принадлежат российской организации или физлицу, то это подпадает под 4-й способ.
Эти поправки делают запрещенными авторизацию через иностранных OAuth провайдеров. Т.е. придется для пользователей с территории РФ блокировать на сайте кнопки "Войти через Google" и другие подобные.
Как создать и активировать виртуальное окружение в Windows написано в официальной документации модуля venv.
Если разработка ведется в PyCharm, то лучше создать виртуальное окружение его средствами. Как это сделать описано в документации PyCharm.
В нас пропал дух хакерства.
Вы видимо пропустили вот эту мою фразу.
Статья про текстовый командный интерфейс и GUI тут ни причем.
Терминал нужен для интерактивной работы, а bash можно запускать и не интерактивно, например по крону и в этом случаи терминал не нужен.
Так что, bash и терминал не всегда связаны.
Определение Shell это цитата из документа:
И это легко объяснить. Дело в том, что терминалом можно управлять посылая ему последовательность символов, так называемые управляющие символы ANSI.
И если на терминал отправить поток байт из бинарного файла, там вполне может встретиться комбинация символов, которая окажет негативное воздействие на состояние терминала.
И всё-таки в стандарте POSIX в томе "Shell and Utilities" есть глава "Shell Command Language" в которой описан синтаксис языка shell.
В том то и дело, что terminal и shell в мире Unix это разные вещи.
Хотелось бы в статье видеть употребление правильных терминов. Эти термины существуют уже несколько десятков лет и даже определены стандартами POSIX.
Если интересно в чем различие между termina, pseudoterminal, console, virtual console, terminal emulator, shell, то рекомендую статью "Hello, World! Глубокое погружение в Терминалы".
А что касается bash, то это конкретная реализация shell. Так же и zsh - это тоже реализация shell.
Переменная
IFS
используется Bash для определения какие символы являются разделителями (сепараторами) строки на слова. Если значение в IFS не установлено, то разделителями будут пробел, таб и перевод строки. И эта переменная не влияет на приглашение командной строки.На приглашение может влиять переменная
PS1
.Можно без while
Скорее всего история развивалась вот так:
В 1970-х годах был создан Unix в котором была командная оболочка Bourne shell (sh). Unix стал популярным, но был проприетарным.
В 1983 начался проект GNU, что бы создать операционную систему похожую на Unix, но свободную.
В 1989 года появилась бета-версия BASH, как замена sh из Unix.
В 1991 год началась история ядра Linux.
С первой половины 1990-х и по наши дни начали собирать дистрибутивы на базе ядра Linux и ПО написанного проектом GNU. Так GNU Bash стал стандартом де-факто в большинстве дистрибутивов GNU/Linux.
Такие знания лучше не гуглить, а получать из официальной документации
man bash
раздел Command Substitution или из соответствующего раздела Bash Reference Manual.Посмотрите код самой команды
xdg-open
:-)В контексте статьи все таки речь идет о shell как он определяется стандартами Unix.
Я бы еще добавил, что кроме синтаксиса нужно знать хотя бы о других подстановках в Bash, а не только о подстановке параметров (переменных) типа
$varname
.Так и есть
[
или она жеtest
- это встроенная команда Bash, для нее не запускается отдельный процесс.Циклы, экранирование и всё прочие к терминалу никакого отношения не имеют. Это всё функции командного интерпретатора (оболочки - shell).
Но вы правы в том, что в Linux есть выбор терминалов, точнее эмуляторов терминала: GNOME terminal, Konsole, xterm, Guake, Qterminal и т.д.
И есть альтернативы командных интерпретаторов (оболочек): sh, bash, dash, zsh, ipython3, psh, powershel и т.д.