Estoy usando un software de línea de comandos para el cual necesito ingresar muchos argumentos. Algo como
./exec -A argA -B argB -C argC ...
Hay tantos argumentos que me sale el mensaje de error
Error: Command line too long (302110 >= 130592)
Una solución sería modificar el software para que lea los argumentos de un archivo. Sin embargo, no tengo acceso al código fuente.
¿Hay alguna forma de evitar este problema?
FYI, estoy encendido Mac OS X 10.11.3
y usoTerminal 2.6.1 (361.1)
Coloque los argumentos en un archivo como -A argA -B argB -C argC …
(excluyendo el binario), luego ejecute:
cat /path/to/file | xargs ./exec
cat /path/to/file | xargs ./exec
no puede ser una solución de todos modos.
fd0
getconf ARG_MAX
-el máximo de caracteres permitidos por el núcleo.Remi.b
getconf ARG_MAX
devuelve262144
que es casi el doble que130592
(pero aún más bajo que302110
).