Внезапно не удалось подключиться по ssh к серверу CentOS 8 с ошибкой «Сервер отказался от нашего ключа»

The /usr/bin/printf util argument list length is limited to the shell's maximum command line length, (i.e. getconf ARG_MAX, on my system that'd be 2097152); example:

Это не ограничение оболочки , а ограничение ОС (ядра Linux ), особенно его execve(2)системного вызова, и вызвано устаревшим способом, которым аргументы командной строки и переменные среды передаются запущенной программе.

(Обратите внимание, что это ограничение также включает переменные окружения! ).

A skim of man bash dash doesn't seem to say much about this advantage of builtin printf. Where is it documented? Do builtin printfs have an argument list length, (e.g. bash), and if so, what is it?

Поскольку встроенные в оболочку -ins не проходят через execve(2), у них нет такого ограничения. Современная оболочка обычно не использует буферы фиксированного размера и тому подобное, поэтому ограничение обычно накладывается объемом доступной памяти и расположением виртуального адресного пространства --, т.е. оно не ограничено для всех намерений и целей.

0
17.07.2021, 22:00
0 ответов

Теги

Похожие вопросы