Come usare meno in uno script senza ottenere caratteri di escape ESC?


12

Quando uso lessdalla riga di comando l'output è simile inserisci qui la descrizione dell'immagine

ma quando uso lessda uno script bash ottengo: <code> [! [inserire la descrizione dell'immagine qui] [1]] [1] </code>

Come posso usare lessin uno script bash e non ottenere tutti i caratteri di escape e farlo funzionare come nella riga di comando interattiva?


1
Hai una variabile d'ambiente il cui nome inizia con LESSimpostato su un valore nella shell interattiva, ma non nello script della shell. Fai printenv | grep LESSper scoprire la sua identità, e poi puoi impostarla anche nel tuo script di shell, o usare le opzioni della riga di comando equivalenti.
zwol,

Risposte:


29

Usa -Rbandiera:

-r o --raw-control-chars

Fa sì che vengano visualizzati caratteri di controllo "non elaborati". L'impostazione predefinita è visualizzare i caratteri di controllo usando la notazione caret; per esempio, un controllo-A (ottale 001) viene visualizzato come "^ A". Avvertenza: quando si utilizza l'opzione -r, less non è in grado di tenere traccia dell'aspetto reale dello schermo (poiché ciò dipende da come lo schermo risponde a ciascun tipo di carattere di controllo). Pertanto, possono verificarsi vari problemi di visualizzazione, come ad esempio la divisione di lunghe righe nella posizione errata.

-R o --RAW-CONTROL-CHARS

Come -r, ma solo le sequenze di escape "color" ANSI vengono emesse in forma "grezza". A differenza di -r, l'aspetto dello schermo viene mantenuto correttamente nella maggior parte dei casi. Le sequenze di escape "color" ANSI sono sequenze del modulo:

           ESC [ ... m

dove "..." è zero o più caratteri di specifica del colore Allo scopo di tenere traccia dell'aspetto dello schermo, si presume che le sequenze di escape del colore ANSI non spostino il cursore. Puoi pensare meno che caratteri diversi da "m" possano terminare le sequenze di escape del colore ANSI impostando la variabile di ambiente LESSANSIENDCHARS sull'elenco di caratteri che può terminare una sequenza di escape del colore. E puoi far pensare meno che caratteri diversi da quelli standard possano apparire tra ESC e m impostando la variabile d'ambiente LESSANSIMIDCHARS sull'elenco di caratteri che possono apparire.

Dalla lesspagina man.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.