O /usr/bin/printf
comprimento da lista de argumentos util é limitado ao comprimento máximo da linha de comando do shell ( ou seja getconf ARG_MAX
, no meu sistema seria 2097152 ); exemplo:
# try using a list that's way too long
/usr/bin/printf '%s\n' $(seq $(( $(getconf ARG_MAX) * 2 ))) | tail -1
Resultado:
bash: /usr/bin/printf: Argument list too long
Hoje sou informado que os embutidos do shell printf
não têm esse limite; teste:
printf '%s\n' $(seq $(( $(getconf ARG_MAX) * 2 ))) | tail -1
Resultado:
4194304
Perguntas:
Uma olhada rápida
man bash dash
não parece dizer muito sobre essa vantagem do builtprintf
-in . Onde está documentado?O builtin
printf
s ( por exemplobash
) tem um comprimento máximo de lista de argumentos em caracteres e, se sim, qual é esse comprimento?