Qual è la lunghezza massima di una riga di comando in Mac OS X?


11

Sto generando modelli in Ruby on Rails e alcune di queste tabelle hanno moltissime colonne. Qual è la lunghezza massima di un comando in Mac OS X?

Risposte:


15

Il limite non è in bash ma nel tuo sistema operativo. È definito dal valore di ARG_MAXnel tuo sistema operativo limits.h. È possibile ottenere il valore eseguendo getconf ARG_MAX. Sulla mia macchina OSX 10.5 (e la maggior parte degli altri sistemi BSD) è 262144. Puoi leggere di più su questo limite qui .


1
Su Solaris 10, è 1048320 - entrambi sono così grandi che confondono la mente che qualcuno potrebbe esaurirlo.
Jonathan Leffler,

Eccellente. Immagino di essere ancora stato via. lol
DGM,

1
A partire da macOS 10.12, il limite è ancora 262.144 (256 KB). Si noti che il limite si applica solo quando si invocano utility esterne , non i builtin della shell. Confronta echo "$(printf "%$(getconf ARG_MAX)s")"con/bin/echo "$(printf "%$(getconf ARG_MAX)s")"
mklement

High Sierra (10.13.1) qui, ancora 262144.
Siu Ching Pong -Asuka Kenji-

@JonathanLeffler La ricerca tra poche migliaia di file renderà rapidamente quel numero molto piccolo.
Più chiaro il

1

Dipende dalla shell, ma l'ultima volta che ho eseguito uno script di configurazione usando zsh su 10.6 erano 65535 caratteri.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.