GNU/Linux >> Belajar Linux >  >> Linux

Batas karakter baris perintah Linux

Solusi 1:

Batas yang diterapkan oleh shell/OS biasanya satu atau dua ratus ribu karakter.

getconf ARG_MAX akan memberi Anda batas input maksimum untuk suatu perintah. Pada sistem Debian saat ini saya memiliki terminal yang terbuka untuk mengembalikan 131072 ini yaitu 128*1024 . Batasnya dikurangi oleh variabel lingkungan Anda dan jika ingatan saya benar, ini diteruskan dalam struktur yang sama oleh shell, meskipun itu hanya akan menghilangkan beberapa ratus karakter dalam banyak kasus. Untuk menemukan perkiraan nilai ini, jalankan env | wc -c - ini menunjukkan 325 karakter saat ini pada login ini di mesin ini.

Skrip cenderung mengizinkan panjang penuh ini, tetapi bukan tidak mungkin bahwa utilitas lain akan memaksakan batasan mereka sendiri baik secara sengaja atau melalui masalah desain. Mungkin juga ada batasan artifisial untuk berapa lama argumen individu pada baris perintah yang panjang, dan/atau berapa lama jalur ke file.

Solusi 2:

ARG_MAX memang membatasi ukuran total baris perintah dan lingkungan, tetapi Anda menghadapi batasan tambahan:satu argumen tidak boleh lebih panjang dari MAX_ARG_STRLEN (yang sayangnya dikode keras menjadi 131072).

Lihat https://unix.stackexchange.com/questions/120642/what-defines-the-maximum-size-for-a-command-single-argument

Solusi 3:

Apakah maksud Anda berapa panjang variabel terpanjang? Untuk mengetahuinya, Anda dapat menggunakan "x" perl untuk membuat nama variabel yang sangat panjang:

 VAR=`perl -e 'print "a"x131071'` ; bash a.sh $VAR

Di sistem saya 131071 berfungsi:

dan variabel dicetak pada 131072 terlalu besar:

VAR=`perl -e 'print "a"x131072'` ; bash a.sh $VAR
bash: /bin/bash: Argument list too long

Linux
  1. Cara Reboot Linux Menggunakan Command Line

  2. Perintah mv Linux

  3. Linux du perintah

  1. 8 tips untuk baris perintah Linux

  2. Perintah ip Linux

  3. Cara membatasi perintah pengguna di Linux

  1. Miliki sapi di baris perintah Linux

  2. Masukkan diri Anda ke dalam baris perintah Linux

  3. 15 Contoh Untuk Menguasai Sejarah Baris Perintah Linux