¿Cuál es la longitud máxima de una línea de comando en Mac OS X?

11

Estoy generando modelos en Ruby on Rails, y algunas de estas tablas tienen muchas columnas. ¿Cuál es la longitud máxima de un comando en Mac OS X?

DGM
fuente

Respuestas:

15

El límite no está en bash sino en su sistema operativo. Se define por el valor de ARG_MAXen su sistema operativo limits.h. Puede obtener el valor ejecutando getconf ARG_MAX. En mi máquina OSX 10.5 (y la mayoría de los otros sistemas BSD) es 262144. Puede leer más sobre este límite aquí .

Kamil Kisiel
fuente
1
En Solaris 10, es 1048320, ambos son tan grandes que aturden la mente de que alguien podría quedarse sin él.
Jonathan Leffler
Excelente. Supongo que ya estaba lejos. lol
DGM
1
A partir de macOS 10.12, el límite sigue siendo 262.144 (256 KB). Tenga en cuenta que el límite solo se aplica cuando se invocan utilidades externas , no con shell incorporado. Comparar echo "$(printf "%$(getconf ARG_MAX)s")"con/bin/echo "$(printf "%$(getconf ARG_MAX)s")"
mklement
High Sierra (10.13.1) aquí, todavía 262144.
Siu Ching Pong -Asuka Kenji-
@JonathanLeffler Buscar entre miles de archivos hará que ese número sea muy pequeño.
Más claro
1

Depende del shell, pero la última vez que ejecuté un script de configuración usando zsh en 10.6 tenía 65535 caracteres.

Loco
fuente