Яка максимальна довжина командного рядка в Mac OS X?


11

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

Відповіді:


16

Обмеження не в баші, а в вашій операційній системі. Він визначається значенням ARG_MAXу вашій ОС limits.h. Ви можете отримати значення, запустивши getconf ARG_MAX. На моїй машині OSX 10.5 (і в більшості інших систем BSD) це 262144. Детальніше про цей ліміт можна прочитати тут .


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

Відмінно. Я здогадуюсь, я був ще далеко. lol
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.
Siu Ching Pong -Asuka Kenji-

@JonathanLeffler Якщо шукати декілька тисяч файлів, це число дуже швидко зробить невеликим.
Чіткіший

1

Це залежить від оболонки, але останній раз, коли я запускав сценарій налаштування за допомогою zsh на 10.6, це було 65535 символів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.