Jaka jest maksymalna długość wiersza poleceń w Mac OS X?


11

Generuję modele w Ruby on Rails, a niektóre z tych tabel mają strasznie dużo kolumn. Jaka jest maksymalna długość polecenia w Mac OS X?

Odpowiedzi:


16

Limit nie jest bash, ale w twoim systemie operacyjnym. Jest określony przez wartość ARG_MAXw twoim systemie operacyjnym limits.h. Możesz uzyskać wartość, uruchamiając getconf ARG_MAX. Na moim komputerze z systemem OSX 10.5 (i większością innych systemów BSD) jest to 262144. Więcej o tym limicie możesz przeczytać tutaj .


1
W systemie Solaris 10 jest to 1048320 - oba są tak duże, że oszałamiają umysł, że komuś może się zabraknąć.
Jonathan Leffler

Doskonały. Chyba jeszcze mnie nie było. lol
DGM

1
Począwszy od systemu macOS 10.12, limit wynosi nadal 262 144 (256 KB). Zauważ, że limit obowiązuje tylko przy wywoływaniu zewnętrznych narzędzi , a nie wbudowanych powłok. Porównaj echo "$(printf "%$(getconf ARG_MAX)s")"do/bin/echo "$(printf "%$(getconf ARG_MAX)s")"
2017

Wysoka Sierra (10.13.1) wciąż tutaj 262144.
Siu Ching Pong -Asuka Kenji-

@JonathanLeffler Przeszukanie kilku tysięcy plików szybko sprawi, że liczba ta będzie bardzo mała.
Jaśniejsze

1

To zależy od powłoki, ale ostatnim razem, gdy uruchomiłem skrypt konfiguracyjny przy użyciu zsh na 10.6, było to 65535 znaków.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.