Qual é o comprimento máximo de uma linha de comando no Mac OS X?


11

Estou gerando modelos no Ruby on Rails, e algumas dessas tabelas têm muitas colunas. Qual é a duração máxima de um comando no Mac OS X?

Respostas:


15

O limite não está no bash, mas no seu sistema operacional. É definido pelo valor de ARG_MAXno seu sistema operacional limits.h. Você pode obter o valor executando getconf ARG_MAX. Na minha máquina OSX 10.5 (e na maioria dos outros sistemas BSD), é 262144. Você pode ler mais sobre esse limite aqui .


1
No Solaris 10, é 1048320 - ambos são tão grandes que incomodam a mente que alguém pode ficar sem ele.
31411 Jonathan Leffler

Excelente. Eu acho que eu estava fora ainda. rsrs
DGM

1
No macOS 10.12, o limite ainda é 262.144 (256 KB). Observe que o limite se aplica somente ao invocar utilitários externos , não nos shell internos. Compare echo "$(printf "%$(getconf ARG_MAX)s")"com/bin/echo "$(printf "%$(getconf ARG_MAX)s")"
mklement

High Sierra (10.13.1) aqui, ainda 262144.
Siu Ching Pong -Asuka Kenji-

@ JonathanLeffler A pesquisa em alguns milhares de arquivos rapidamente tornará esse número muito pequeno.
Clearer

1

Depende do shell, mas a última vez que executei um script de configuração usando o zsh no 10.6, eram 65535 caracteres.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.