Какова максимальная длина аргументов командной строки в gnome-терминал?
... а есть ли системная переменная среды, которая сообщает об этом значении?
Я действительно не знаю о gnome-Terminal, но оболочка имеет не «фиксированный» предел, а предел стека.
Однако существует жесткое ограничение для каждого аргумента, равное 128 КБ, что не должно быть проблемой, если вы не используете «очень очень очень длинные аргументы ....».
Подробнее об этом можно прочитать здесь:
Ответ приходит из значения sysconf ARG_MAX
. Чтобы проверить это в вашей системе:
getconf ARG_MAX
Для меня это сообщает 2097152
. Для более подробной информации обратитесь к справочной странице:
man sysconf
Чтобы получить это внутри программы, например:
#include <unistd.h>
...
printf("%ld\n", sysconf(_SC_ARG_MAX));
xargs
знает. В моей системе
$ 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