Какова максимальная длина командной строки в Mac OS X?


11

Я генерирую модели в Ruby on Rails, и в некоторых из этих таблиц очень много столбцов. Какова максимальная длина команды в Mac OS X?

Ответы:


15

Ограничение не в bash, а в вашей операционной системе. Это определяется значением ARG_MAXвашей ОС limits.h. Вы можете получить значение, запустив getconf ARG_MAX. На моем компьютере с OSX 10.5 (и на большинстве других систем BSD) это 262144. Подробнее об этом ограничении можно прочитать здесь .


1
На Solaris 10 это 1048320 - оба настолько велики, что поражают воображение, что у кого-то может закончиться это.
Джонатан Леффлер

Отлично. Я думаю, я был еще далеко. лол
DGM

1
Начиная с macOS 10.12, ограничение по-прежнему составляет 262 144 (256 КБ). Обратите внимание, что ограничение применяется только при вызове внешних утилит , а не встроенных команд оболочки. Сравните echo "$(printf "%$(getconf ARG_MAX)s")"с/bin/echo "$(printf "%$(getconf ARG_MAX)s")"
mklement

Высшая Сьерра (10.13.1) здесь еще 262144.
Сиу Чинг Понг-Асука Кэндзи -

@JonathanLeffler Searching через несколько тысяч файлов быстро сделать этот номер очень маленький.
яснее

1

Это зависит от оболочки, но в последний раз, когда я запускал скрипт конфигурации, используя zsh на 10.6, он был 65535 символов.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.