Quelle est la longueur maximale des arguments de ligne de commande dans gnome-terminal?

35

Quelle est la longueur maximale des arguments de ligne de commande dans gnome-terminal?

... et existe-t-il une variable d'environnement système qui rapporte cette valeur?

    
posée Peter.O 19.11.2010 - 21:05
la source

3 réponses

30

xargs sait. Sur mon système,

$ 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
    
réponse donnée Chipaca 19.11.2010 - 23:09
la source
18

La réponse provient de la valeur sysconf ARG_MAX . Pour l'examiner sur votre système:

getconf ARG_MAX

Pour moi, cela rapporte 2097152 . Pour plus de détails, consultez la page de manuel:

man sysconf

Pour obtenir cela dans un programme, par exemple:

#include <unistd.h>
...
printf("%ld\n", sysconf(_SC_ARG_MAX));
    
réponse donnée Kees Cook 20.11.2010 - 02:18
la source
0

Je ne connais pas vraiment gnome-terminal, mais le shell n'a pas de limite "fixe", mais la limite de la pile.

Cependant, il y a une limite de hardcode par argument qui est de 128 Ko, cela ne devrait pas poser de problème si vous n'utilisez pas "des arguments très très très longs ....".

Vous pouvez en savoir plus à ce sujet ici:

lien

    
réponse donnée OpenNingia 19.11.2010 - 21:41
la source

Lire d'autres questions sur les étiquettes