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

11

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

DGM
источник

Ответы:

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 символов.

буйствовать
источник