Qual é o comprimento máximo dos argumentos da linha de comando no gnome-terminal?

34

Qual é o comprimento máximo dos argumentos da linha de comando no gnome-terminal?

... e existe uma variável de ambiente do sistema que relate este valor?

    
por Peter.O 19.11.2010 / 21:05

3 respostas

29

xargs sabe. No meu sistema,

$ xargs --show-limits
Your environment variables take up 2572 bytes
POSIX upper limit on argument length (this system): 2092532
POSIX smallest allowable upper limit on argument length (all systems): 4096
Maximum length of command we could actually use: 2089960
Size of command buffer we are actually using: 131072
    
por Chipaca 19.11.2010 / 23:09
18

A resposta vem do valor do sysconf ARG_MAX . Para examiná-lo no seu sistema:

getconf ARG_MAX

Para mim, isso informa 2097152 . Para mais detalhes, consulte a página do manual:

man sysconf

Para obter isso dentro de um programa, por exemplo:

#include <unistd.h>
...
printf("%ld\n", sysconf(_SC_ARG_MAX));
    
por Kees Cook 20.11.2010 / 02:18
0

Eu realmente não sei sobre o gnome-terminal, mas o shell não tem um limite 'fixo', mas o limite da pilha.

No entanto, há um limite de caracteres por argumento que é 128 KB, que não deve ser um problema se você não usar 'argumentos muito, muito longos ...'.

Você pode ler mais sobre isso aqui:

link

    
por OpenNingia 19.11.2010 / 21:41