Ответы:
Ограничение не в bash, а в вашей операционной системе. Это определяется значением ARG_MAX
вашей ОС limits.h
. Вы можете получить значение, запустив getconf ARG_MAX
. На моем компьютере с OSX 10.5 (и на большинстве других систем BSD) это 262144. Подробнее об этом ограничении можно прочитать здесь .
echo "$(printf "%$(getconf ARG_MAX)s")"
с/bin/echo "$(printf "%$(getconf ARG_MAX)s")"
262144
.
Это зависит от оболочки, но в последний раз, когда я запускал скрипт конфигурации, используя zsh на 10.6, он был 65535 символов.