GNU/Linux >> Belajar Linux >  >> Ubuntu

Ubuntu – Daftar Argumen Terlalu Panjang?

Saya mencoba memasukkan perintah dengan argumen SANGAT besar (berukuran 1 MB), tetapi tertulis "Daftar argumen terlalu panjang." Bagaimana saya bisa memasukkan argumen itu?

OS:Linux Ubuntu

Jawaban yang Diterima:

Tidak ada cara untuk meneruskan argumen antara executable jika lebih besar dari ARG_MAX kernel batas.

Jika Anda memiliki daftar argumen yang terlalu panjang, memecahnya menjadi bagian-bagian yang lebih kecil dapat dilakukan mis. dengan xargs . Ini menjalankan perintah sebanyak yang diperlukan, memberikan argumen sebanyak yang sesuai.

Sintaksnya adalah xargs command <file . Jika Anda menghilangkan command , ini menampilkan argumennya, seperti echo .

Sebagai demo,

xargs -n 4 </etc/motd

akan mencetak empat token pertama pada satu baris (permohonan pertama), empat berikutnya melalui yang lain, dll. (The -n argumen menetapkan jumlah maksimum argumen, jadi ini tidak menggunakan ARG_MAX batas sama sekali.)

Jika perintah yang ingin Anda jalankan memiliki efek samping yang tidak diinginkan, ini mungkin tidak akan berhasil. Misalnya, jika command akan menimpa ./a.out yang sudah ada sebelumnya file, Anda jelas akan ditinggalkan dengan hasil dari proses terakhir setelah selesai.

Jika Anda dapat mengonfigurasi atau memodifikasi command jadi ia membaca file, atau input standar, alih-alih argumen baris perintah, yang akan mengatasi pembatasan. File atau aliran bisa lebih besar dari ARG_MAX , dan sering kali.


Ubuntu
  1. Cara Mendaftar Paket yang Diinstal di Ubuntu 20.04

  2. Perintah Pengguna Ubuntu?

  3. bash:/bin/tar:Daftar argumen terlalu panjang saat mengompresi banyak file dengan tar

  1. Tidak Dapat Menghapus File Dari Direktori dengan Kesalahan "Daftar argumen terlalu panjang"

  2. Daftar argumen kesalahan terlalu panjang untuk perintah rm, cp, mv

  3. OSError terputus-putus:[Errno 7] Daftar argumen terlalu panjang dengan perintah pendek (~125 karakter)

  1. Ubuntu 20.04:Daftar klien torrent

  2. Perintah yang Mudah Digunakan Untuk Mendaftar Semua Pengguna Di Sistem Ubuntu?

  3. ps:perintah penuh terlalu panjang