Contexto para a pergunta: De acordo com as especificações do POSIX , ARG_MAX é o comprimento máximo dos argumentos de linha de comando para a exec()
família de funções. O que me leva a acreditar que esse é o número real de argumentos, no entanto, isso claramente não funcionou:
$ ulimit -s
8192
$ touch {1..18000}.jpg
$ rm *.jpg
$
Claramente, isso funciona bem, apesar de ter mais de 8192 itens. De acordo com a resposta do DW , o 8192
tamanho é supostamente em kB. Então, claramente, a suposição anterior estava errada.
É aqui que entra a questão real: Como descubro a quantidade de itens que realmente ficarão acima do limite de 8192 kB? Em outras palavras, que tipo de computação devo realizar para garantir que esse *.jpg
tipo de glob resultará em Argument list too long
erro?
Observe que isso não é uma duplicata de O que define o tamanho máximo do argumento de comando único . Conheço getconf ARG_MAX
e ulimit -s
valores, essa não é a minha pergunta. Eu preciso saber como gerar argumentos suficientes em tamanho que estarão acima do limite . Em outras palavras, preciso encontrar uma maneira de obter o erro, não evitá-lo.