GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Ubuntu - Elenco di argomenti troppo lungo?

Sto cercando di inserire un comando con un argomento MOLTO grande (1 MB di dimensione), ma dice "Lista di argomenti troppo lunga". Come posso inserire quell'argomento?

Sistema operativo:Linux Ubuntu

Risposta accettata:

Non c'è modo di passare un argomento tra eseguibili se è più grande di ARG_MAX del kernel limite.

Se hai un elenco di argomentazioni troppo lunghe, è possibile suddividerlo in parti più piccole, ad es. con xargs . Questo esegue il comando tutte le volte che è necessario, fornendo tutti gli argomenti che si adattano.

La sintassi è xargs command <file . Se ometti command , mostra i suoi argomenti, come echo .

Come demo,

xargs -n 4 </etc/motd

stamperà i primi quattro token su una riga (prima invocazione), i successivi quattro su un'altra, ecc. (Il -n argomento imposta un numero massimo di argomenti, quindi questo non usa ARG_MAX limite.)

Se il comando che si desidera eseguire ha effetti collaterali indesiderati, potrebbe non funzionare. Ad esempio, se il command sovrascriverà qualsiasi ./a.out precedentemente esistente file, rimarrai ovviamente con i risultati dell'ultima esecuzione al termine.

Se puoi configurare o modificare command quindi legge un file, o input standard, invece di un argomento della riga di comando, che aggirerà la restrizione. Un file o uno stream può essere molto più grande di ARG_MAX , e spesso lo è.


Ubuntu
  1. Come elencare i pacchetti installati su Ubuntu 20.04

  2. Comando Ubuntu Runuser?

  3. Errore elenco argomenti troppo lungo per i comandi rm, cp, mv

  4. Intermittente OSError:[Errno 7] Elenco argomenti troppo lungo con comando breve (~125 caratteri)

  5. ps:il comando completo è troppo lungo

Come eliminare un utente su Ubuntu

Controllo dello spazio su disco di Ubuntu 22.04

Come modificare il nome host in Ubuntu 18.04

Comando SS in Linux

Gestione delle quote su Ubuntu

Comando Ping in Ubuntu 22.04