GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Ubuntu – ¿Lista de argumentos demasiado larga?

Estoy tratando de ingresar un comando con un argumento MUY grande (1 MB de tamaño), pero dice "Lista de argumentos demasiado larga". ¿Cómo puedo ingresar ese argumento?

SO:Linux Ubuntu

Respuesta aceptada:

No hay forma de pasar un argumento entre ejecutables si es más grande que el ARG_MAX del kernel límite.

Si tiene una lista de argumentos que son demasiado largos, se pueden dividir en partes más pequeñas, p. con xargs . Esto ejecuta el comando tantas veces como sea necesario, proporcionando tantos argumentos como quepan.

La sintaxis es xargs command <file . Si omite command , muestra sus argumentos, como echo .

Como demostración,

xargs -n 4 </etc/motd

imprimirá los primeros cuatro tokens en una línea (primera invocación), los siguientes cuatro a través de otra, etc. (El -n argument establece un número máximo de argumentos, por lo que esto no usa el ARG_MAX límite en absoluto.)

Si el comando que desea ejecutar tiene efectos secundarios que no son deseables, es posible que esto no funcione. Por ejemplo, si el command sobrescribirá cualquier ./a.out existente previamente archivo, obviamente se quedará con los resultados de la última ejecución después de que finalice.

Si puede configurar o modificar el comando command por lo que lee un archivo, o una entrada estándar, en lugar de un argumento de la línea de comandos, que evitará la restricción. Un archivo o secuencia puede ser mucho más grande que ARG_MAX , y a menudo lo es.


Ubuntu
  1. Cómo enumerar los paquetes instalados en Ubuntu 20.04

  2. ¿Comando Ubuntu Runuser?

  3. ¿Comando fácil de usar para enumerar todos los usuarios en el sistema Ubuntu?

  4. No se pueden eliminar archivos del directorio con el error "Lista de argumentos demasiado larga"

  5. bash:/bin/tar:lista de argumentos demasiado larga al comprimir muchos archivos con tar

Cómo eliminar un usuario en Ubuntu

Comprobación de espacio en disco de Ubuntu 22.04

Cómo cambiar el nombre de host en Ubuntu 18.04

Comando SS en Linux

Gestión de cuotas en Ubuntu

Comando ping en Ubuntu 22.04