Bagaimana cara menggunakan lebih sedikit dalam skrip tanpa mendapatkan karakter ESC escape?

12

Ketika saya gunakan lessdi baris perintah outputnya seperti masukkan deskripsi gambar di sini

tetapi ketika saya menggunakan lessdari dalam skrip bash saya mendapatkan: <code> [! [masukkan deskripsi gambar di sini] [1]] [1] </code>

Bagaimana saya bisa menggunakan lessskrip bash dan tidak mendapatkan semua karakter escape dan membuatnya berfungsi seperti di baris perintah interaktif?

Michael Durrant
sumber
1
Anda memiliki variabel lingkungan yang namanya dimulai dengan LESSnilai tertentu di shell interaktif Anda, tetapi tidak di skrip shell Anda. Lakukan printenv | grep LESSuntuk mengetahui identitasnya, dan kemudian Anda dapat mengaturnya di skrip shell Anda juga, atau gunakan opsi baris perintah yang setara.
zwol

Jawaban:

29

Gunakan -Rbendera:

-r atau --raw-control-chars

Menyebabkan karakter kontrol "mentah" ditampilkan. Standarnya adalah untuk menampilkan karakter kontrol menggunakan notasi tanda sisipan; misalnya, kontrol-A (oktal 001) ditampilkan sebagai "^ A". Peringatan: ketika opsi -r digunakan, semakin sedikit yang tidak dapat melacak tampilan aktual layar (karena ini tergantung pada bagaimana layar merespons masing-masing jenis karakter kontrol). Dengan demikian, berbagai masalah tampilan dapat terjadi, seperti garis panjang terpecah di tempat yang salah.

-R atau --RAW-CONTROL-CHARS

Seperti -r, tetapi hanya urutan pelarian "warna" ANSI yang dihasilkan dalam bentuk "mentah". Tidak seperti -r, tampilan layar dipertahankan dengan benar dalam banyak kasus. Sequence escape "color" adalah urutan bentuk:

           ESC [ ... m

di mana "..." adalah nol atau lebih karakter spesifikasi warna Untuk tujuan melacak tampilan layar, urutan pelarian warna ANSI diasumsikan tidak memindahkan kursor. Anda dapat membuat lebih sedikit berpikir bahwa karakter selain "m" dapat mengakhiri urutan pelarian warna ANSI dengan mengatur variabel lingkungan LESSANSIENDCHARS ke daftar karakter yang dapat mengakhiri urutan pelepasan warna. Dan Anda dapat membuat kurang berpikir bahwa karakter selain yang standar dapat muncul antara ESC dan m dengan mengatur variabel lingkungan LESSANSIMIDCHARS ke daftar karakter yang dapat muncul.

Dari lesshalaman manual.

coffeMug
sumber